LoD trees in snow are white

This commit is contained in:
Joshua Barretto 2022-05-09 10:28:32 +01:00
parent cf346d05c1
commit 1db7cc7fde
9 changed files with 412 additions and 473 deletions

View File

@ -1,43 +1,43 @@
# Blender v3.0.0 OBJ File: ''
# www.blender.org
o Cube.003
v -1.814604 0.110646 -2.712528
v 0.002174 1.562753 10.609200
v 0.161417 2.086320 -2.749529
v 2.137438 0.110646 -2.712528
v 1.363824 0.201342 10.634696
v 0.161417 -1.865030 -2.675528
v 0.002174 -1.160069 10.660192
v -1.359475 0.201342 10.634696
v -1.765975 -11.462813 12.558847
v -9.522135 0.240962 9.193778
v -0.028484 -9.251023 9.371544
v 0.054180 11.978812 11.981747
v -0.028484 9.732947 9.016011
v 9.465164 0.240963 9.193778
v 6.263892 0.262988 10.369893
v -0.028484 6.554262 10.252069
v 13.535484 1.245526 12.154263
v 0.141971 15.367683 17.018692
v 17.032104 -0.355504 16.854349
v -13.233879 1.081083 12.744585
v -2.845845 -13.345329 16.876486
v -16.808716 2.270498 18.296967
v 0.126243 -16.232351 34.672588
v 9.797964 0.393772 43.178391
v -1.009909 -8.386520 43.555328
v -0.173310 -16.022852 25.351990
v -16.800144 1.228834 36.291180
v -17.068426 4.313082 29.872881
v 18.031403 -0.333628 25.101107
v -0.441979 17.624346 33.618435
v -2.185088 17.178898 26.278412
v -0.217867 0.757482 46.887856
v -10.273464 1.652588 42.715527
v -0.009768 10.158854 43.467457
v 18.309916 -0.061841 34.471123
v -0.028484 -6.028285 10.487717
v -6.320862 0.262988 10.369893
o Cube.006
v -0.056530 -0.827346 -2.711352
v 1.178886 0.079466 10.621154
v 1.287172 0.613093 -2.731962
v 2.630874 -0.827346 -2.711352
v 2.104814 -0.913122 10.635355
v 1.287172 -2.267787 -2.690744
v 1.178886 -1.905710 10.649555
v 0.252960 -0.913122 10.635355
v -0.023462 -9.436724 12.462571
v -5.297682 -0.867848 9.194902
v 1.158039 -7.788337 9.293917
v 1.214251 7.655847 12.079970
v 1.158039 6.052641 9.095887
v 7.613757 -0.867847 9.194902
v 5.436880 -0.865177 10.371088
v 1.158039 3.721714 10.305462
v 10.381592 -0.169335 12.163438
v 1.273949 10.068592 17.144547
v 12.759308 -1.389768 16.849798
v -7.821683 -0.295910 12.752341
v -0.757778 -10.857972 16.764185
v -10.252585 0.507842 18.314060
v 1.263254 -13.164757 34.534649
v 7.840063 -1.143189 43.177551
v 0.490666 -7.547210 43.481625
v 1.059556 -12.905995 25.216671
v -10.246758 -0.456162 36.297924
v -10.429190 1.864903 29.905817
v 13.438834 -1.467666 25.095953
v 0.876860 11.524522 33.761429
v -0.308461 11.283371 26.418409
v 1.029258 -0.920301 46.889679
v -5.808589 -0.220403 42.725170
v 1.170766 5.971041 43.547592
v 13.628224 -1.376191 34.467335
v 1.158039 -5.452066 10.436716
v -3.120803 -0.865177 10.371088
vt 0.375000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
@ -91,192 +91,194 @@ vt 0.375000 0.000000
vt 0.625000 0.250000
vt 0.625000 0.000000
vt 0.375000 1.000000
vn -0.8982 0.1977 -0.3926
vn -0.1957 0.9770 -0.0849
vn -0.2131 0.7630 -0.6102
vn 0.1967 0.9772 -0.0803
vn 0.8552 0.3379 -0.3931
vn 0.2154 0.7654 -0.6064
vn 0.9333 -0.3569 -0.0394
vn 0.3325 -0.7936 -0.5095
vn 0.9076 -0.0678 -0.4144
vn 0.0007 0.5089 -0.8608
vn 0.1244 -0.5841 -0.8021
vn -0.7101 -0.0125 -0.7040
vn -0.3554 -0.9334 -0.0499
vn -0.8968 -0.2104 -0.3893
vn -0.0834 -0.8360 -0.5423
vn -0.9801 0.1947 -0.0394
vn 0.9986 0.0293 -0.0449
vn 0.0310 -0.9983 -0.0485
vn 0.6820 0.1365 -0.7185
vn -0.9799 -0.1963 -0.0368
vn -0.1047 -0.7127 -0.6936
vn -0.3089 -0.1712 -0.9356
vn -0.1300 -0.2706 -0.9539
vn -0.2470 0.1434 -0.9583
vn -0.1780 0.6972 -0.6945
vn -0.2592 0.3056 -0.9162
vn 0.1669 0.6961 -0.6983
vn 0.2768 0.0738 -0.9581
vn 0.1987 0.3154 -0.9279
vn -0.1214 -0.0001 -0.9926
vn -0.2247 -0.1041 -0.9689
vn -0.0725 -0.2173 -0.9734
vn 0.7438 0.2654 -0.6135
vn 0.2350 0.8544 -0.4635
vn 0.9042 0.0051 -0.4270
vn 0.3107 -0.2158 -0.9257
vn 0.2374 -0.7967 -0.5558
vn 0.2813 -0.4432 -0.8511
vn -0.7591 -0.1502 -0.6335
vn -0.4072 -0.8234 -0.3951
vn -0.9229 -0.0267 -0.3841
vn 0.1886 -0.8079 -0.5583
vn 0.7833 -0.3512 -0.5129
vn -0.1126 -0.9448 -0.3078
vn -0.7071 0.1989 -0.6786
vn -0.0664 0.8813 -0.4679
vn -0.1683 0.7076 -0.6863
vn 0.2439 -0.8272 0.5061
vn 0.5553 -0.1423 0.8194
vn 0.0140 -0.5574 0.8302
vn -0.2733 -0.9576 -0.0906
vn -0.9047 -0.2867 0.3150
vn -0.9932 -0.0872 -0.0771
vn 0.9866 -0.1395 -0.0846
vn 0.2877 -0.8932 0.3456
vn 0.1001 -0.9890 -0.1086
vn -0.9635 0.2397 0.1192
vn -0.1639 0.8943 0.4164
vn -0.2322 0.9699 -0.0732
vn 0.0700 -0.0737 0.9948
vn -0.1342 0.8431 0.5207
vn -0.5588 0.2547 0.7892
vn -0.1235 0.5952 0.7940
vn 0.1829 0.8408 0.5095
vn 0.5658 0.1546 0.8099
vn 0.8460 0.1746 0.5037
vn -0.8071 -0.2478 0.5358
vn -0.2499 -0.5501 0.7968
vn -0.5650 0.0129 0.8250
vn -0.0990 0.1021 0.9898
vn 0.1744 0.5999 0.7808
vn 0.0762 0.0989 0.9922
vn 0.0109 -0.1327 -0.9911
vn 0.0118 0.0955 -0.9954
vn 0.1247 -0.0175 -0.9920
vn -0.1006 -0.0560 -0.9933
vn -0.2248 0.0624 -0.9724
vn 0.0907 0.0329 -0.9953
vn -0.0303 -0.0927 -0.9952
vn 0.0943 -0.2169 -0.9716
vn 0.2093 -0.1005 -0.9727
vn -0.0305 0.0800 -0.9963
vn 0.0952 0.1804 -0.9790
vn 0.0727 -0.0562 -0.9958
vn 0.9569 0.2750 -0.0931
vn 0.2075 0.9180 0.3379
vn 0.9105 0.1897 0.3675
vn -0.1131 -0.0570 0.9919
vn 0.2730 0.9004 -0.3387
vn 0.9558 0.2750 -0.1037
vn 0.9088 0.0088 -0.4172
vn -0.8783 0.3374 -0.3389
vn -0.2442 0.9587 -0.1456
vn -0.0508 0.8954 -0.4424
vn 0.8355 -0.4000 -0.3769
vn 0.0658 -0.9773 -0.2014
vn -0.1405 -0.8932 -0.4272
vn -0.4410 -0.8550 -0.2730
vn -0.9891 -0.1415 0.0401
vn -0.9600 -0.0622 -0.2730
vn -0.7339 -0.1307 -0.6666
vn -0.6694 0.1674 -0.7238
vn 0.6284 0.1915 -0.7539
vn 0.0908 -0.1410 -0.9858
vn 0.1128 0.6894 -0.7156
vn 0.6835 -0.1212 -0.7198
vn -0.1345 -0.7455 -0.6528
vn 0.6776 -0.0633 -0.7327
vn -0.8444 0.3164 -0.4323
vn 0.8474 -0.1663 0.5043
vn -0.0669 -0.9124 0.4037
vn 0.9056 -0.2115 0.3676
vn -0.8522 0.0535 0.5205
vn -0.8359 0.0692 0.5445
vn -0.0516 -0.8756 0.4803
vn -0.1403 -0.0212 -0.9899
vn -0.0716 0.1807 -0.9809
vn 0.0510 -0.0002 -0.9987
vn 0.2093 0.0662 -0.9756
vn 0.0792 0.9866 -0.1429
vn 0.0927 0.9939 -0.0595
vn -0.9731 0.2301 -0.0088
vn 0.9913 -0.1099 -0.0723
vn -0.2942 -0.9516 -0.0888
vn -0.8966 0.1765 -0.4062
vn -0.2288 0.9705 -0.0765
vn -0.2401 0.7564 -0.6085
vn 0.2302 0.9698 -0.0806
vn 0.8620 0.3110 -0.4002
vn 0.2392 0.7578 -0.6071
vn 0.9442 -0.3240 -0.0599
vn 0.3546 -0.7710 -0.5290
vn 0.9025 -0.0307 -0.4296
vn 0.0007 0.5127 -0.8586
vn 0.1262 -0.5802 -0.8047
vn -0.7101 -0.0094 -0.7040
vn -0.3876 -0.9191 -0.0710
vn -0.8993 -0.1743 -0.4011
vn -0.1101 -0.8219 -0.5589
vn -0.8959 0.1772 -0.4073
vn -0.9859 0.1612 -0.0450
vn -0.2269 0.9721 -0.0604
vn 0.9983 -0.0045 -0.0589
vn 0.0653 -0.9953 -0.0715
vn 0.6825 0.1375 -0.7179
vn -0.9856 -0.1618 -0.0495
vn -0.2108 -0.7706 -0.6015
vn -0.4336 -0.2123 -0.8757
vn -0.2529 -0.3602 -0.8979
vn -0.3874 0.2389 -0.8904
vn -0.2561 0.7739 -0.5793
vn -0.3406 0.3973 -0.8521
vn 0.2485 0.7742 -0.5821
vn 0.4201 0.1840 -0.8886
vn 0.2875 0.4133 -0.8640
vn -0.2301 -0.0956 -0.9685
vn -0.3452 -0.1854 -0.9200
vn -0.1865 -0.3124 -0.9315
vn 0.8101 0.2588 -0.5261
vn 0.3038 0.8930 -0.3321
vn 0.9500 -0.0098 -0.3121
vn 0.4430 -0.2621 -0.8573
vn 0.2543 -0.8385 -0.4819
vn 0.2777 -0.4837 -0.8300
vn -0.8311 -0.1392 -0.5384
vn -0.4690 -0.8315 -0.2979
vn -0.9660 -0.0144 -0.2580
vn 0.2250 -0.8336 -0.5045
vn 0.8446 -0.3834 -0.3737
vn -0.0745 -0.9702 -0.2306
vn -0.7915 0.2405 -0.5619
vn -0.1336 0.9286 -0.3462
vn -0.2415 0.7764 -0.5821
vn 0.3254 -0.8746 0.3595
vn 0.6695 -0.2019 0.7148
vn 0.1123 -0.6640 0.7392
vn -0.3150 -0.9428 -0.1093
vn -0.8998 -0.2396 0.3646
vn -0.9982 -0.0504 -0.0328
vn 0.9910 -0.1057 -0.0818
vn 0.3170 -0.8837 0.3445
vn 0.1350 -0.9845 -0.1115
vn -0.9764 0.2036 0.0715
vn -0.2097 0.8901 0.4047
vn -0.2613 0.9617 -0.0824
vn 0.1886 -0.1849 0.9645
vn -0.2120 0.8909 0.4017
vn -0.6695 0.2857 0.6857
vn -0.2165 0.6666 0.7133
vn 0.2548 0.8827 0.3949
vn 0.6830 0.1786 0.7083
vn 0.9105 0.1969 0.3636
vn -0.8779 -0.2855 0.3844
vn -0.3475 -0.6225 0.7012
vn -0.6954 -0.0407 0.7175
vn -0.2247 0.1841 0.9569
vn 0.2627 0.6646 0.6995
vn 0.2041 0.1782 0.9626
vn 0.0104 -0.1284 -0.9917
vn 0.0113 0.0999 -0.9949
vn 0.1247 -0.0131 -0.9921
vn -0.2129 0.0541 -0.9756
vn -0.3480 0.1581 -0.9241
vn -0.0342 0.1386 -0.9898
vn 0.0911 -0.1834 -0.9788
vn 0.2079 -0.3108 -0.9275
vn 0.3309 -0.1819 -0.9260
vn 0.0943 0.1844 -0.9783
vn 0.2125 0.2881 -0.9337
vn 0.1855 0.0554 -0.9811
vn 0.9655 0.2473 -0.0819
vn 0.2169 0.8994 0.3795
vn 0.9112 0.1527 0.3827
vn -0.2556 -0.1469 0.9556
vn 0.2934 0.9034 -0.3128
vn 0.9662 0.2471 -0.0739
vn 0.9201 -0.0146 -0.3914
vn -0.8966 0.3268 -0.2990
vn -0.2847 0.9551 -0.0818
vn -0.1067 0.9170 -0.3843
vn 0.8530 -0.3819 -0.3557
vn 0.1148 -0.9846 -0.1318
vn -0.0870 -0.9224 -0.3763
vn -0.4533 -0.8483 -0.2736
vn -0.9938 -0.1036 0.0407
vn -0.9611 -0.0110 -0.2760
vn -0.8328 -0.1509 -0.5326
vn -0.7730 0.2351 -0.5892
vn 0.7297 0.2771 -0.6251
vn -0.0308 -0.2306 -0.9726
vn 0.1875 0.7680 -0.6124
vn 0.7877 -0.1549 -0.5963
vn -0.2171 -0.7845 -0.5809
vn 0.7683 -0.1123 -0.6302
vn -0.8949 0.3391 -0.2900
vn 0.9127 -0.2032 0.3545
vn -0.0974 -0.9166 0.3877
vn 0.9112 -0.1856 0.3677
vn -0.8730 0.0583 0.4842
vn -0.9052 0.0940 0.4145
vn -0.1301 -0.9320 0.3383
vn -0.1403 -0.0169 -0.9900
vn -0.1894 0.2897 -0.9382
vn 0.1609 -0.0994 -0.9819
vn 0.3335 0.1620 -0.9287
vn 0.1161 0.9881 -0.1005
vn 0.1239 0.9922 -0.0145
vn -0.9798 0.1969 0.0343
vn 0.9961 -0.0766 -0.0438
vn -0.3217 -0.9433 -0.0822
s 1
f 1/1/1 2/2/2 3/3/3
f 2/2/4 4/4/5 3/3/6
f 5/5/7 6/6/8 4/4/9
f 3/3/10 6/7/11 1/8/12
f 7/9/13 1/1/14 6/10/15
f 1/1/1 8/11/16 2/2/2
f 2/2/4 5/5/17 4/4/5
f 5/5/7 7/12/18 6/6/8
f 3/3/10 4/4/19 6/7/11
f 7/9/13 8/11/20 1/1/14
f 9/13/21 10/14/22 11/15/23
f 10/14/24 12/16/25 13/17/26
f 12/16/27 14/18/28 13/17/29
f 13/17/30 15/19/31 16/20/32
f 17/21/33 18/22/34 19/23/35
f 14/18/36 9/24/37 11/25/38
f 20/26/39 21/27/40 22/28/41
f 9/24/42 19/23/43 21/29/44
f 20/26/45 18/22/46 12/16/47
f 23/30/48 24/31/49 25/32/50
f 26/33/51 27/34/52 28/35/53
f 29/36/54 23/30/55 26/37/56
f 28/35/57 30/38/58 31/39/59
f 25/32/50 24/31/49 32/40/60
f 30/38/61 33/41/62 34/42/63
f 30/38/64 24/31/65 35/43/66
f 27/34/67 25/44/68 33/41/69
f 33/41/62 32/45/70 34/42/63
f 34/42/71 32/46/72 24/31/65
f 16/20/73 36/47/74 37/48/75
f 11/25/76 15/19/77 14/18/78
f 10/14/79 16/20/80 37/49/81
f 10/14/82 36/50/83 11/15/84
f 29/36/85 30/38/86 35/43/87
f 25/44/68 32/51/88 33/41/69
f 18/22/89 29/36/90 19/23/91
f 22/28/92 31/39/93 18/22/94
f 19/23/95 26/37/96 21/29/97
f 21/27/98 28/35/99 22/28/100
f 9/13/21 20/26/101 10/14/22
f 10/14/24 20/26/102 12/16/25
f 12/16/27 17/21/103 14/18/28
f 13/17/30 14/18/104 15/19/31
f 17/21/33 12/16/105 18/22/34
f 14/18/36 17/21/106 9/24/37
f 20/26/39 9/13/107 21/27/40
f 9/24/42 17/21/108 19/23/43
f 20/26/45 22/28/109 18/22/46
f 23/30/48 35/43/110 24/31/49
f 26/33/51 23/52/111 27/34/52
f 29/36/54 35/43/112 23/30/55
f 28/35/57 27/34/113 30/38/58
f 30/38/61 27/34/114 33/41/62
f 30/38/64 34/42/71 24/31/65
f 27/34/67 23/52/115 25/44/68
f 16/20/73 15/19/116 36/47/74
f 11/25/76 36/53/117 15/19/77
f 10/14/79 13/17/118 16/20/80
f 10/14/82 37/49/119 36/50/83
f 29/36/85 31/39/120 30/38/86
f 18/22/89 31/39/121 29/36/90
f 22/28/92 28/35/122 31/39/93
f 19/23/95 29/36/123 26/37/96
f 21/27/98 26/33/124 28/35/99
f 1/1/16 8/11/17 2/2/18
f 2/2/4 5/5/19 4/4/5
f 5/5/7 7/12/20 6/6/8
f 3/3/10 4/4/21 6/7/11
f 7/9/13 8/11/22 1/1/14
f 9/13/23 10/14/24 11/15/25
f 10/14/26 12/16/27 13/17/28
f 12/16/29 14/18/30 13/17/31
f 13/17/32 15/19/33 16/20/34
f 17/21/35 18/22/36 19/23/37
f 14/18/38 9/24/39 11/25/40
f 20/26/41 21/27/42 22/28/43
f 9/24/44 19/23/45 21/29/46
f 20/26/47 18/22/48 12/16/49
f 23/30/50 24/31/51 25/32/52
f 26/33/53 27/34/54 28/35/55
f 29/36/56 23/30/57 26/37/58
f 28/35/59 30/38/60 31/39/61
f 25/32/52 24/31/51 32/40/62
f 30/38/63 33/41/64 34/42/65
f 30/38/66 24/31/67 35/43/68
f 27/34/69 25/44/70 33/41/71
f 33/41/64 32/45/72 34/42/65
f 34/42/73 32/46/74 24/31/67
f 16/20/75 36/47/76 37/48/77
f 11/25/78 15/19/79 14/18/80
f 10/14/81 16/20/82 37/49/83
f 10/14/84 36/50/85 11/15/86
f 29/36/87 30/38/88 35/43/89
f 25/44/70 32/51/90 33/41/71
f 18/22/91 29/36/92 19/23/93
f 22/28/94 31/39/95 18/22/96
f 19/23/97 26/37/98 21/29/99
f 21/27/100 28/35/101 22/28/102
f 9/13/23 20/26/103 10/14/24
f 10/14/26 20/26/104 12/16/27
f 12/16/29 17/21/105 14/18/30
f 13/17/32 14/18/106 15/19/33
f 17/21/35 12/16/107 18/22/36
f 14/18/38 17/21/108 9/24/39
f 20/26/41 9/13/109 21/27/42
f 9/24/44 17/21/110 19/23/45
f 20/26/47 22/28/111 18/22/48
f 23/30/50 35/43/112 24/31/51
f 26/33/53 23/52/113 27/34/54
f 29/36/56 35/43/114 23/30/57
f 28/35/59 27/34/115 30/38/60
f 30/38/63 27/34/116 33/41/64
f 30/38/66 34/42/73 24/31/67
f 27/34/69 23/52/117 25/44/70
f 16/20/75 15/19/118 36/47/76
f 11/25/78 36/53/119 15/19/79
f 10/14/81 13/17/120 16/20/82
f 10/14/84 37/49/121 36/50/85
f 29/36/87 31/39/122 30/38/88
f 18/22/91 31/39/123 29/36/92
f 22/28/94 28/35/124 31/39/95
f 19/23/97 29/36/125 26/37/98
f 21/27/100 26/33/126 28/35/101

View File

@ -1,43 +1,43 @@
# Blender v3.0.0 OBJ File: ''
# www.blender.org
o Cube.005
v -1.814604 0.118198 -2.712210
v 0.002174 1.533206 10.613510
v 0.161417 2.093968 -2.743709
v 2.137438 0.118198 -2.712210
v 1.363824 0.171729 10.635216
v 0.161417 -1.857573 -2.680711
v 0.002174 -1.189747 10.656921
v -1.359475 0.171729 10.635216
v -0.028485 -3.759396 23.071415
v -9.522135 0.215361 9.194413
v -0.028484 -9.277081 9.345748
v -4.223946 0.435532 23.004536
v -0.028484 9.707805 9.043077
v -0.028485 4.630460 22.937658
v 9.465164 0.215362 9.194413
v 6.263892 0.234112 10.370585
v -0.028484 6.525690 10.270280
v 4.166976 0.435531 23.004536
v -0.028484 6.975379 21.070749
v 6.541358 0.406372 21.175476
v -6.598328 0.406372 21.175476
v -0.028485 -6.162636 21.280205
v -0.028485 -4.685975 30.123705
v 2.329653 0.670892 37.767403
v -0.028485 -1.686946 37.804993
v -0.028485 -2.886088 31.833960
v -5.262825 0.547700 30.040266
v -3.490429 0.575417 31.778772
v 3.433459 0.575417 31.778772
v -0.028485 5.781376 29.956827
v -0.028485 4.036922 31.723587
v -0.217867 0.626920 46.889782
v -0.028485 3.028730 37.729813
v 5.205855 0.547701 30.040266
v -2.386622 0.670891 37.767403
v -0.028484 -6.057464 10.470890
v -6.320862 0.234112 10.370585
o Cube.007
v -2.819197 -0.013505 -2.712447
v 0.008816 2.119261 10.632816
v 0.256695 3.130596 -2.715924
v 3.332587 -0.013505 -2.712447
v 2.128373 -0.047297 10.635213
v 0.256695 -3.157609 -2.708971
v 0.008816 -2.213855 10.637607
v -2.110739 -0.047297 10.635213
v -0.038908 -6.413302 23.015169
v -14.816810 0.034971 9.195086
v -0.038907 -15.070634 9.211782
v -6.569601 0.262213 23.007790
v -0.038907 15.140581 9.178390
v -0.038908 6.937726 23.000408
v 14.738994 0.034973 9.195086
v 9.755864 0.054326 10.371477
v -0.038907 10.066301 10.360410
v 6.491785 0.262210 23.007790
v -0.038907 10.685573 21.166832
v 10.187769 0.232116 21.178389
v -10.265585 0.232116 21.178389
v -0.038908 -10.221344 21.189941
v -0.038908 -7.950523 30.054035
v 3.631791 0.505130 37.773411
v -0.038908 -3.246969 37.777557
v -0.038908 -5.101809 31.789749
v -8.186729 0.377981 30.044832
v -5.427802 0.406590 31.783665
v 5.349986 0.406590 31.783665
v -0.038908 8.706485 30.035627
v -0.038908 5.914984 31.777578
v -0.333702 0.353851 46.894814
v -0.038908 4.257227 37.769260
v 8.108912 0.377983 30.044832
v -3.709605 0.505129 37.773411
v -0.038907 -9.957649 10.382545
v -9.833678 0.054326 10.371477
vt 0.375000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
@ -91,192 +91,109 @@ vt 0.625000 0.250000
vt 0.625000 0.000000
vt 0.625000 0.000000
vt 0.375000 1.000000
vn -0.9098 0.3850 -0.1552
vn -0.3826 0.9233 0.0342
vn -0.4235 0.7712 -0.4752
vn 0.3820 0.9232 0.0433
vn 0.8349 0.5226 -0.1727
vn 0.4251 0.7751 -0.4675
vn 0.8498 -0.5247 0.0514
vn 0.5200 -0.7889 -0.3275
vn 0.9491 -0.2490 -0.1929
vn -0.0001 0.2970 -0.9549
vn 0.1320 -0.4105 -0.9023
vn -0.5897 -0.0130 -0.8075
vn -0.5257 -0.8499 0.0363
vn -0.9084 -0.3896 -0.1519
vn -0.2866 -0.8812 -0.3759
vn -0.9233 0.3829 0.0300
vn 0.9716 0.2302 0.0554
vn 0.2295 -0.9719 0.0514
vn 0.5357 0.1652 -0.8281
vn -0.9235 -0.3823 0.0330
vn -0.2406 -0.9459 -0.2176
vn -0.6348 -0.6281 -0.4501
vn -0.5976 -0.6255 -0.5017
vn -0.7077 0.5374 -0.4587
vn -0.6634 0.6735 -0.3261
vn -0.7543 0.3547 -0.5524
vn 0.6371 0.7645 -0.0983
vn 0.9214 0.3860 -0.0451
vn 0.2036 0.8812 -0.4267
vn -0.4074 0.0521 -0.9118
vn -0.3052 -0.1803 -0.9351
vn -0.1319 -0.2867 -0.9489
vn -0.4389 -0.2877 -0.8512
vn -0.1205 -0.3195 -0.9399
vn 0.1232 -0.6502 -0.7497
vn 0.9214 -0.3872 -0.0327
vn 0.5703 -0.8006 -0.1842
vn 0.4320 -0.7035 -0.5643
vn 0.5443 -0.1442 -0.8264
vn 0.1392 0.6129 -0.7778
vn 0.0926 0.3553 -0.9301
vn -0.4389 0.2605 -0.8600
vn -0.6252 0.1270 -0.7700
vn -0.1502 -0.1700 -0.9739
vn 0.0968 -0.2571 -0.9615
vn 0.4390 -0.2892 -0.8507
vn 0.6760 0.1387 -0.7237
vn 0.5455 -0.6954 -0.4679
vn 0.8810 -0.3670 0.2987
vn 0.2823 -0.9090 0.3066
vn 0.7082 0.1905 -0.6798
vn -0.0958 0.6299 -0.7708
vn 0.2832 -0.1319 -0.9500
vn -0.2013 0.6974 -0.6879
vn -0.2899 0.1482 -0.9455
vn 0.1167 0.2680 -0.9563
vn 0.2013 -0.7189 -0.6653
vn 0.7277 -0.2126 -0.6521
vn -0.1167 -0.2983 -0.9473
vn 0.4489 -0.4444 0.7752
vn -0.7792 0.5992 -0.1840
vn -0.4567 0.8492 0.2651
vn 0.0797 0.9166 -0.3918
vn 0.8333 0.5083 -0.2172
vn 0.8798 0.3742 0.2931
vn 0.5376 0.3335 -0.7744
vn -0.9574 -0.1971 -0.2112
vn -0.4581 -0.8442 0.2783
vn -0.8868 -0.3687 0.2788
vn -0.8858 0.3751 0.2732
vn -0.4567 0.4611 0.7608
vn 0.2812 0.9141 0.2922
vn 0.4428 0.4551 0.7725
vn 0.0343 -0.1189 -0.9923
vn 0.0343 0.0872 -0.9956
vn 0.1152 -0.0158 -0.9932
vn -0.2463 0.0625 -0.9672
vn -0.3052 0.1504 -0.9403
vn 0.4400 0.2184 -0.8710
vn 0.0384 -0.3071 -0.9509
vn 0.1994 -0.2835 -0.9380
vn 0.2818 -0.1806 -0.9423
vn 0.0401 0.0355 -0.9986
vn 0.1994 0.2534 -0.9466
vn 0.0948 0.0642 -0.9934
vn -0.7082 -0.2121 -0.6734
vn -0.4213 -0.5139 -0.7473
vn -0.2832 0.1016 -0.9537
vn -0.4628 -0.4506 0.7634
vn 0.7035 0.4738 -0.5297
vn 0.5159 0.8117 -0.2741
vn 0.9659 0.1443 -0.2150
vn -0.5589 0.7644 -0.3215
vn -0.8159 0.5116 -0.2693
vn -0.3492 0.6246 -0.6985
vn 0.7580 -0.6331 -0.1569
vn 0.8159 -0.5199 -0.2528
vn 0.0602 -0.8810 -0.4692
vn -0.7694 -0.5638 -0.3003
vn -0.5159 -0.8200 -0.2481
vn -0.8734 -0.0679 -0.4822
vn -0.7681 -0.4219 -0.4818
vn -0.1195 0.9847 -0.1266
vn 0.3562 0.6474 -0.6738
vn 0.4400 -0.2461 -0.8636
vn -0.0107 0.1882 -0.9821
vn 0.3562 -0.6686 -0.6528
vn -0.0734 0.1622 -0.9840
vn 0.1599 0.0204 -0.9869
vn 0.1779 0.0577 -0.9824
vn 0.3305 -0.8243 -0.4597
vn 0.3995 0.1420 -0.9057
vn -0.4846 0.0881 -0.8703
vn -0.1236 -0.1633 -0.9788
vn -0.4328 -0.7480 -0.5033
vn -0.1391 -0.0158 -0.9901
vn -0.1319 0.2564 -0.9575
vn -0.0577 0.0570 -0.9967
vn 0.2818 0.1505 -0.9476
vn 0.1469 -0.3066 -0.9404
vn -0.0333 0.8844 -0.4655
vn -0.8917 -0.0405 -0.4507
vn 0.8917 0.0261 -0.4518
vn 0.0333 -0.8988 -0.4370
vn -0.7142 0.6988 0.0397
vn 0.7132 0.6978 0.0661
vn 0.7135 -0.6979 0.0626
vn 0.0000 -0.0011 -1.0000
vn -0.7144 -0.6988 0.0361
vn -0.6549 -0.6402 0.4015
vn -0.6600 0.6461 0.3834
vn 0.6600 0.6461 0.3834
vn -0.2249 -0.2211 -0.9490
vn -0.4090 -0.4010 -0.8197
vn 0.6549 -0.6402 0.4015
vn 0.4049 0.3952 -0.8245
vn -0.4049 0.3952 -0.8245
vn 0.4090 -0.4010 -0.8197
vn 0.6579 -0.6432 0.3917
vn 0.6697 -0.6548 0.3503
vn 0.6699 -0.6550 0.3497
vn 0.4702 0.4592 -0.7537
vn -0.4702 0.4592 -0.7537
vn 0.4753 -0.4658 -0.7464
vn 0.6850 -0.6698 0.2867
vn -0.6629 0.6490 0.3734
vn -0.6742 0.6599 0.3315
vn 0.6629 0.6490 0.3734
vn 0.6703 0.6561 0.3468
vn -0.6579 -0.6432 0.3917
vn -0.6738 -0.6588 0.3345
vn -0.6742 -0.6592 0.3332
vn -0.6746 0.6603 0.3301
vn -0.6889 0.6742 0.2661
vn 0.6703 0.6561 0.3467
vn 0.6802 0.6658 0.3068
vn -0.2235 0.2176 -0.9501
vn 0.2249 -0.2211 -0.9490
vn 0.2235 0.2176 -0.9501
vn -0.4753 -0.4658 -0.7464
vn -0.6931 -0.6778 0.2453
vn 0.6817 0.6673 0.3000
vn -0.6817 0.6673 0.3000
vn 0.6774 -0.6624 0.3199
vn -0.6774 -0.6624 0.3199
s 1
f 1/1/1 2/2/2 3/3/3
f 2/2/4 4/4/5 3/3/6
f 5/5/7 6/6/8 4/4/9
f 3/3/10 6/7/11 1/8/12
f 7/9/13 1/1/14 6/10/15
f 1/1/1 8/11/16 2/2/2
f 2/2/4 5/5/17 4/4/5
f 5/5/7 7/12/18 6/6/8
f 3/3/10 4/4/19 6/7/11
f 7/9/13 8/11/20 1/1/14
f 9/13/21 10/14/22 11/15/23
f 12/16/24 13/17/25 10/14/26
f 14/18/27 15/19/28 13/17/29
f 13/17/30 16/20/31 17/21/32
f 18/22/33 19/23/34 20/24/35
f 15/19/36 9/25/37 11/26/38
f 9/13/39 21/27/40 12/16/41
f 18/22/42 22/28/43 9/25/44
f 12/16/45 19/23/46 14/18/47
f 23/29/48 24/30/49 25/31/50
f 26/32/51 27/33/52 28/34/53
f 29/35/54 23/29/55 26/36/56
f 28/34/57 30/37/58 31/38/59
f 25/31/50 24/30/49 32/39/60
f 27/33/61 33/40/62 30/37/63
f 30/37/64 24/30/65 34/41/66
f 27/33/67 25/42/68 35/43/69
f 35/43/70 32/44/71 33/40/62
f 33/40/72 32/45/73 24/30/65
f 17/21/74 36/46/75 37/47/76
f 11/26/77 16/20/78 15/19/79
f 10/14/80 17/21/81 37/48/82
f 10/14/83 36/49/84 11/15/85
f 31/38/86 34/41/87 29/35/88
f 25/42/68 32/50/89 35/43/69
f 19/23/90 29/35/91 20/24/92
f 21/27/93 31/38/94 19/23/95
f 20/24/96 26/36/97 22/28/98
f 22/51/99 28/34/100 21/27/101
f 9/13/21 12/16/102 10/14/22
f 12/16/24 14/18/103 13/17/25
f 14/18/27 18/22/104 15/19/28
f 13/17/30 15/19/105 16/20/31
f 18/22/33 14/18/106 19/23/34
f 15/19/36 18/22/107 9/25/37
f 9/13/39 22/51/108 21/27/40
f 18/22/42 20/24/109 22/28/43
f 12/16/45 21/27/110 19/23/46
f 23/29/48 34/41/111 24/30/49
f 26/32/51 23/52/112 27/33/52
f 29/35/54 34/41/113 23/29/55
f 28/34/57 27/33/114 30/37/58
f 27/33/61 35/43/70 33/40/62
f 30/37/64 33/40/72 24/30/65
f 27/33/67 23/52/115 25/42/68
f 17/21/74 16/20/116 36/46/75
f 11/26/77 36/53/117 16/20/78
f 10/14/80 13/17/118 17/21/81
f 10/14/83 37/48/119 36/49/84
f 31/38/86 30/37/120 34/41/87
f 19/23/90 31/38/121 29/35/91
f 21/27/93 28/34/122 31/38/94
f 20/24/96 29/35/123 26/36/97
f 22/51/99 26/32/124 28/34/100
f 1/1/1 2/2/1 3/3/1
f 2/2/2 4/4/2 3/3/2
f 5/5/3 6/6/3 4/4/3
f 3/3/4 6/7/4 1/8/4
f 7/9/5 1/1/5 6/10/5
f 1/1/1 8/11/1 2/2/1
f 2/2/2 5/5/2 4/4/2
f 5/5/3 7/12/3 6/6/3
f 3/3/4 4/4/4 6/7/4
f 7/9/5 8/11/5 1/1/5
f 9/13/6 10/14/6 11/15/6
f 12/16/7 13/17/7 10/14/7
f 14/18/8 15/19/8 13/17/8
f 13/17/9 16/20/9 17/21/9
f 18/22/10 19/23/10 20/24/10
f 15/19/11 9/25/11 11/26/11
f 9/13/12 21/27/12 12/16/12
f 18/22/13 22/28/13 9/25/13
f 12/16/14 19/23/14 14/18/14
f 23/29/15 24/30/16 25/31/17
f 26/32/18 27/33/18 28/34/18
f 29/35/19 23/29/19 26/36/19
f 28/34/20 30/37/20 31/38/20
f 25/31/17 24/30/16 32/39/21
f 27/33/22 33/40/23 30/37/22
f 30/37/24 24/30/25 34/41/24
f 27/33/26 25/42/27 35/43/28
f 35/43/29 32/44/30 33/40/23
f 33/40/31 32/45/32 24/30/25
f 17/21/4 36/46/4 37/47/4
f 11/26/33 16/20/33 15/19/33
f 10/14/34 17/21/34 37/48/34
f 10/14/35 36/49/35 11/15/35
f 31/38/36 34/41/36 29/35/36
f 25/42/27 32/50/37 35/43/28
f 19/23/38 29/35/38 20/24/38
f 21/27/39 31/38/39 19/23/39
f 20/24/40 26/36/40 22/28/40
f 22/51/41 28/34/41 21/27/41
f 9/13/6 12/16/6 10/14/6
f 12/16/7 14/18/7 13/17/7
f 14/18/8 18/22/8 15/19/8
f 13/17/9 15/19/9 16/20/9
f 18/22/10 14/18/10 19/23/10
f 15/19/11 18/22/11 9/25/11
f 9/13/12 22/51/12 21/27/12
f 18/22/13 20/24/13 22/28/13
f 12/16/14 21/27/14 19/23/14
f 23/29/15 34/41/15 24/30/16
f 26/32/18 23/52/18 27/33/18
f 29/35/19 34/41/19 23/29/19
f 28/34/20 27/33/20 30/37/20
f 27/33/22 35/43/29 33/40/23
f 30/37/24 33/40/31 24/30/25
f 27/33/26 23/52/26 25/42/27
f 17/21/4 16/20/4 36/46/4
f 11/26/33 36/53/33 16/20/33
f 10/14/34 13/17/34 17/21/34
f 10/14/35 37/48/35 36/49/35
f 31/38/36 30/37/36 34/41/36
f 19/23/38 31/38/38 29/35/38
f 21/27/39 28/34/39 31/38/39
f 20/24/40 29/35/40 26/36/40
f 22/51/41 26/32/41 28/34/41

View File

@ -21,20 +21,28 @@ layout(location = 0) in vec3 v_pos;
layout(location = 1) in vec3 v_norm;
layout(location = 2) in vec3 v_col;
layout(location = 3) in vec3 inst_pos;
layout(location = 4) in uint inst_flags;
const uint FLAG_SNOW_COVERED = 1;
layout(location = 0) out vec3 f_pos;
layout(location = 1) out vec3 f_norm;
layout(location = 2) out vec4 f_col;
void main() {
f_pos = inst_pos + v_pos - focus_off.xyz;
vec3 tree_pos = inst_pos - focus_off.xyz;
f_pos = tree_pos + v_pos;
float pull_down = 1.0 / pow(distance(focus_pos.xy, f_pos.xy) / (view_distance.x * 0.95), 50.0);
float pull_down = 1.0 / pow(distance(focus_pos.xy, tree_pos.xy) / (view_distance.x * 0.95), 50.0);
f_pos.z -= pull_down;
f_norm = v_norm;
f_col = vec4(vec3(0.01, 0.04, 0.0) * 1, 1.0);//vec4(v_col, 1.0);
if ((inst_flags & FLAG_SNOW_COVERED) > 0u) {
f_col.rgb = mix(f_col.rgb, vec3(1), pow(max(f_norm.z, 0.0), 0.5));
}
gl_Position =
all_mat *
vec4(f_pos, 1);

View File

@ -658,7 +658,7 @@ impl Client {
tick: 0,
state,
view_distance: None,
lod_distance: 2, // TODO: Make configurable
lod_distance: 4, // TODO: Make configurable
loaded_distance: 0.0,
pending_chunks: HashMap::new(),
@ -1729,21 +1729,20 @@ impl Client {
// Request LoD zones that are in range
if self.lod_last_requested.map_or(true, |i| i.elapsed() > Duration::from_secs(5)) {
if let Some(unloaded) = Spiral2d::new()
if let Some(rpos) = Spiral2d::new()
.take((1 + self.lod_distance * 2).pow(2) as usize)
.map(|rpos| lod_zone + rpos)
.find(|p| !self.lod_zones.contains_key(p))
.filter(|rpos| !self.lod_zones.contains_key(&(lod_zone + *rpos)))
.min_by_key(|rpos| rpos.magnitude_squared())
{
self.send_msg_err(ClientGeneral::LodZoneRequest {
key: unloaded,
key: lod_zone + rpos,
})?;
self.lod_last_requested = Some(Instant::now());
}
}
// Cull LoD zones out of range
self.lod_zones.retain(|p, _| (*p - lod_zone).map(i32::abs).reduce_max() < self.lod_distance as i32 + 1);
self.lod_zones.retain(|p, _| (*p - lod_zone).magnitude_squared() < (self.lod_distance as i32 + 1).pow(2));
}
Ok(())

View File

@ -9,6 +9,13 @@ use crate::{
// In chunks
pub const ZONE_SIZE: u32 = 32;
bitflags::bitflags! {
#[derive(Serialize, Deserialize)]
pub struct Flags: u8 {
const SNOW_COVERED = 0b00000001;
}
}
#[derive(Copy, Clone, Hash, PartialEq, Eq, Debug, Serialize, Deserialize, EnumIter)]
#[repr(u16)]
pub enum ObjectKind {
@ -20,6 +27,7 @@ pub enum ObjectKind {
pub struct Object {
pub kind: ObjectKind,
pub pos: Vec3<u16>,
pub flags: Flags,
}
#[derive(Clone, Debug, Serialize, Deserialize)]

View File

@ -49,20 +49,24 @@ impl VertexTrait for Vertex {
#[derive(Copy, Clone, Debug, Zeroable, Pod)]
pub struct Instance {
inst_pos: [f32; 3],
flags: u32,
}
impl Instance {
pub fn new(
inst_pos: Vec3<f32>,
flags: common::lod::Flags,
) -> Self {
Self {
inst_pos: inst_pos.into_array(),
flags: flags.bits() as u32,
}
}
fn desc<'a>() -> wgpu::VertexBufferLayout<'a> {
const ATTRIBUTES: [wgpu::VertexAttribute; 1] = wgpu::vertex_attr_array![
const ATTRIBUTES: [wgpu::VertexAttribute; 2] = wgpu::vertex_attr_array![
3 => Float32x3,
4 => Uint32,
];
wgpu::VertexBufferLayout {
array_stride: mem::size_of::<Self>() as wgpu::BufferAddress,

View File

@ -33,7 +33,6 @@ pub fn water_color() -> Rgba<f32> {
impl Lod {
pub fn new(
renderer: &mut Renderer,
global_model: &GlobalModel,
client: &Client,
settings: &Settings,
) -> Self {
@ -50,8 +49,8 @@ impl Lod {
Self {
zone_objects: HashMap::new(),
object_data: [
(lod::ObjectKind::Oak, make_lod_object("oak", renderer, global_model, &data)),
(lod::ObjectKind::Pine, make_lod_object("pine", renderer, global_model, &data)),
(lod::ObjectKind::Oak, make_lod_object("oak", renderer, &data)),
(lod::ObjectKind::Pine, make_lod_object("pine", renderer, &data)),
]
.into_iter()
.collect(),
@ -94,7 +93,7 @@ impl Lod {
objects
.entry(object.kind)
.or_default()
.push(LodObjectInstance::new(pos));
.push(LodObjectInstance::new(pos, object.flags));
}
objects
.into_iter()
@ -114,13 +113,12 @@ impl Lod {
}
// Draw LoD objects
for (kind, model) in &self.object_data {
let mut drawer = drawer.draw_lod_objects();
for instances in self.zone_objects
.values()
.filter_map(|zone| zone.get(kind))
{
drawer.draw(model, instances);
let mut drawer = drawer.draw_lod_objects();
for objects in self.zone_objects.values() {
for (kind, instances) in objects {
if let Some(model) = self.object_data.get(kind) {
drawer.draw(model, instances);
}
}
}
}
@ -157,7 +155,6 @@ fn create_lod_terrain_mesh(detail: u32) -> Mesh<LodTerrainVertex> {
fn make_lod_object(
name: &str,
renderer: &mut Renderer,
global_model: &GlobalModel,
lod_data: &LodData,
) -> Model<LodObjectVertex> {
let model = ObjAsset::load_expect(&format!("voxygen.lod.{}", name));

View File

@ -282,7 +282,7 @@ impl Scene {
point_light_matrices: Box::new([PointLightMatrix::default(); MAX_LIGHT_COUNT * 6 + 6]),
};
let lod = Lod::new(renderer, &data, client, settings);
let lod = Lod::new(renderer, client, settings);
let globals_bind_group = renderer.bind_globals(&data, lod.get_data());

View File

@ -479,11 +479,12 @@ impl World {
objects.append(&mut self.sim()
.get_area_trees(min_wpos, max_wpos)
.filter(|attr| {
.filter_map(|attr| {
ColumnGen::new(self.sim()).get((attr.pos, index, self.sim().calendar.as_ref()))
.map_or(false, |col| layer::tree::tree_valid_at(&col, attr.seed))
.filter(|col| layer::tree::tree_valid_at(col, attr.seed))
.zip(Some(attr))
})
.map(|tree| lod::Object {
.map(|(col, tree)| lod::Object {
kind: match tree.forest_kind {
all::ForestKind::Oak => lod::ObjectKind::Oak,
all::ForestKind::Pine
@ -493,6 +494,9 @@ impl World {
pos: (tree.pos - min_wpos)
.map(|e| e as u16)
.with_z(self.sim().get_alt_approx(tree.pos).unwrap_or(0.0) as u16),
flags: lod::Flags::empty()
| if col.snow_cover { lod::Flags::SNOW_COVERED } else { lod::Flags::empty() }
,
})
.collect());