Squashed commit of the handgun branch:

commit cb02631040e0d4ccac5ce844d9c429715d768181
Author: Morph01 <145839520+Morph01@users.noreply.github.com>
Date:   Wed Jan 17 22:14:13 2024 +0100

    position et rotation finger gun

commit 1f1c6f0721963f6ca7d85b8edbc48c1467ab43ba
Author: Persson-dev <sim16.prib@gmail.com>
Date:   Wed Jan 17 18:41:25 2024 +0100

    colors

commit 19e6e99c5d9111d8944c40f5043368ba55abc0f5
Author: Persson-dev <sim16.prib@gmail.com>
Date:   Wed Jan 17 18:35:17 2024 +0100

    fix rotation

commit acc444d45f8bb2d43efde92ff518b674ca998f4b
Author: Persson-dev <sim16.prib@gmail.com>
Date:   Wed Jan 17 18:23:20 2024 +0100

    handgun adjust menu

Co-authored-by: Morph01 <145839520+Morph01@users.noreply.github.com>
This commit is contained in:
2024-01-18 16:02:02 +01:00
parent d5ccd8a3fa
commit b9204db9c0
8 changed files with 436 additions and 260 deletions

View File

@@ -2,255 +2,273 @@
# www.blender.org
mtllib fingergun.mtl
o Cube
v 0.030512 -0.093890 -0.052784
v 0.024220 -0.074330 -0.165590
v -0.030139 -0.094416 -0.052590
v -0.024219 -0.074330 -0.165590
v 0.032557 0.114683 -0.077305
v 0.024219 0.076214 -0.169635
v -0.032557 0.114683 -0.077305
v -0.024219 0.076214 -0.169635
v -0.028098 -0.101556 0.049114
v -0.031220 0.083372 0.087477
v 0.037180 -0.102273 0.049231
v 0.028736 0.083372 0.087477
v 0.031834 -0.009762 -0.165590
v -0.040736 -0.012445 -0.051844
v -0.031834 -0.009762 -0.165590
v 0.040736 -0.012445 -0.051844
v -0.033301 -0.015382 0.091386
v 0.033370 -0.015655 0.091207
v -0.032630 0.104316 0.008718
v 0.032685 0.104464 0.009147
v 0.041246 -0.098579 0.014656
v -0.031258 -0.100976 0.016293
v -0.042227 -0.014193 0.032940
v 0.042537 -0.014766 0.034960
v 0.031834 0.035407 -0.167612
v -0.040736 0.051953 -0.064091
v -0.034515 0.036288 0.096640
v -0.031834 0.035407 -0.167612
v 0.040736 0.051953 -0.064091
v 0.031441 0.036288 0.096640
v -0.042227 0.046161 0.021274
v 0.042227 0.046161 0.021274
v -0.031834 -0.046246 -0.165590
v 0.041124 -0.060311 -0.051101
v 0.038873 -0.066285 0.066016
v 0.031834 -0.046246 -0.165590
v -0.040736 -0.059877 -0.051306
v -0.031630 -0.065270 0.064856
v 0.047718 -0.065376 0.026071
v -0.042227 -0.063755 0.025339
v -0.031386 0.044017 0.163866
v -0.031386 0.081689 0.165238
v 0.014076 0.081689 0.165238
v 0.014076 0.044017 0.163866
v -0.027152 0.045352 0.221153
v -0.027152 0.076187 0.222722
v 0.007359 0.076187 0.222722
v 0.007359 0.045352 0.221153
v -0.021262 0.047981 0.273187
v -0.021262 0.068291 0.274220
v 0.001469 0.068291 0.274220
v 0.001469 0.047981 0.273187
v 0.015520 0.031591 0.168671
v 0.015520 -0.000243 0.169711
v -0.030357 -0.000243 0.169711
v -0.030357 0.031591 0.168671
v 0.009868 0.034297 0.238256
v 0.009868 0.007965 0.239116
v -0.026833 0.007965 0.239116
v -0.026833 0.034297 0.238256
v 0.005687 0.036590 0.297707
v 0.005687 0.016257 0.298371
v -0.022653 0.016257 0.298371
v -0.022653 0.036590 0.297707
v 0.043540 -0.021719 0.046770
v 0.043540 -0.022990 0.081655
v 0.043540 -0.059917 0.067127
v 0.043928 -0.059081 0.036977
v 0.082252 -0.024428 0.043151
v 0.082443 -0.027475 0.075551
v 0.082443 -0.055112 0.065026
v 0.082252 -0.053843 0.035195
v 0.055239 -0.057491 0.032403
v 0.055861 -0.059244 0.066829
v 0.055861 -0.023619 0.080805
v 0.055239 -0.021007 0.042066
v 0.073144 -0.019345 0.002891
v 0.073144 -0.043088 -0.002803
v 0.055318 -0.043560 -0.002999
v 0.054993 -0.018672 0.002472
v 0.068279 -0.013086 -0.018399
v 0.068279 -0.037373 -0.024224
v 0.051968 -0.036752 -0.022098
v 0.050677 -0.013086 -0.018399
v 0.076087 -0.075976 0.057271
v 0.076071 -0.098684 0.047824
v 0.076350 -0.094545 0.023618
v 0.076409 -0.073464 0.031864
v 0.058509 -0.057988 -0.002333
v 0.058446 -0.075898 -0.009192
v 0.077177 -0.059856 -0.000858
v 0.077123 -0.074998 -0.006657
v 0.064182 -0.049631 -0.020747
v 0.064139 -0.061909 -0.025449
v 0.077189 -0.050733 -0.019643
v 0.077151 -0.061482 -0.023760
v 0.067282 -0.024087 -0.025072
v 0.059024 -0.035871 -0.027235
v 0.058590 -0.012094 -0.022196
v 0.050332 -0.023878 -0.024358
v 0.058590 -0.024087 -0.025072
v -0.026324 0.153577 -0.054536
v 0.026233 0.153823 -0.053821
v 0.023766 0.179329 0.005098
v -0.024874 0.178482 0.002605
v -0.030231 0.134261 -0.066025
v 0.030300 0.134446 -0.065489
v -0.026971 0.137139 0.008028
v 0.026665 0.137963 0.010448
v -0.022966 0.188353 0.051829
v 0.016381 0.189061 0.054050
v -0.022634 0.151998 0.057451
v 0.016713 0.152707 0.059672
v -0.019298 0.189635 0.100129
v 0.007405 0.190079 0.101557
v -0.019074 0.164916 0.103639
v 0.007628 0.165360 0.105068
v 0.020190 0.067587 -0.394836
v -0.020190 0.067587 -0.394836
v 0.022728 0.032430 -0.407745
v -0.022728 -0.043973 -0.407745
v -0.020190 -0.069616 -0.394836
v 0.020190 -0.069616 -0.394836
v 0.022728 -0.043973 -0.407745
v 0.022728 -0.008855 -0.407745
v -0.022728 0.032430 -0.407745
v -0.022728 -0.008855 -0.407745
vn -0.0020 0.9660 0.2585
vn -0.9835 0.1318 -0.1236
vn -0.0000 0.9231 -0.3846
vn -0.9901 0.1368 -0.0314
vn 0.0044 -0.9849 -0.1729
vn 0.9543 -0.2792 -0.1067
vn 0.9756 0.0507 0.2134
vn 0.0115 -0.9979 -0.0631
vn 0.9827 0.1389 0.1222
vn -0.9533 -0.2468 0.1741
vn -0.9924 -0.0037 0.1231
vn 0.9918 0.0367 0.1228
vn -0.0107 -0.4581 0.8888
vn 0.9967 -0.0105 -0.0810
vn -0.9993 -0.0000 -0.0376
vn -0.9970 -0.0005 -0.0779
vn 0.9970 0.0604 -0.0483
vn -0.9998 -0.0034 -0.0177
vn -0.9585 -0.2827 -0.0375
vn 0.9893 0.1457 0.0043
vn 0.0207 -0.9963 -0.0837
vn 0.0075 0.5136 -0.8580
vn 0.9998 -0.0015 -0.0192
vn -0.9892 0.1465 0.0048
vn 0.9808 -0.1926 -0.0302
vn 0.9835 0.1318 -0.1236
vn -0.9866 0.1386 0.0861
vn 0.9879 0.0307 0.1523
vn -0.0021 -0.9816 0.1910
vn -0.9967 -0.0105 -0.0810
vn -0.9998 0.0013 -0.0184
vn 0.9663 -0.2216 -0.1307
vn -0.9557 -0.2758 -0.1032
vn -0.0138 -0.4107 0.9117
vn 0.1141 -0.9858 -0.1229
vn -0.9778 -0.0825 0.1926
vn 0.9969 0.0039 -0.0792
vn -0.9993 -0.0009 -0.0377
vn -0.9973 -0.0032 0.0735
vn -0.0000 0.9998 0.0216
vn -0.0000 -0.9935 0.1142
vn -0.9990 0.0406 0.0187
vn -0.0000 -0.9987 0.0505
vn -0.0000 -0.9997 0.0233
vn -0.0000 0.9954 0.0953
vn 0.9932 -0.0050 0.1161
vn -0.0000 -0.0508 0.9987
vn -0.0000 0.9884 0.1515
vn 0.9936 -0.0057 0.1128
vn -0.9936 -0.0057 0.1128
vn -0.0000 0.9992 -0.0389
vn -0.9987 -0.0170 0.0484
vn 0.9759 0.0110 0.2181
vn -0.0000 0.9979 0.0651
vn -0.0000 -0.9904 0.1386
vn -0.0000 -0.9931 0.1174
vn -0.9987 0.0016 0.0505
vn 0.9967 0.0026 0.0809
vn -0.0000 0.0326 0.9995
vn -0.9975 0.0023 0.0701
vn 0.9975 0.0023 0.0701
vn -0.0000 0.9993 -0.0385
vn 0.1443 -0.9883 -0.0483
vn 0.4467 -0.3462 0.8250
vn 0.7772 0.6224 0.0929
vn 0.9749 -0.1850 0.1238
vn 1.0000 0.0019 -0.0060
vn 0.1247 -0.3583 0.9252
vn 0.1081 -0.9382 -0.3288
vn 0.1400 0.9872 0.0769
vn 0.0087 0.9986 0.0526
vn -0.3837 0.2334 -0.8935
vn 0.0440 -0.3653 0.9298
vn 0.0870 -0.9954 -0.0402
vn 0.9762 0.0506 -0.2111
vn 0.9749 0.0554 -0.2157
vn -1.0000 -0.0055 0.0010
vn 0.0872 0.9928 0.0820
vn 0.2071 0.3676 -0.9066
vn -0.9827 -0.0666 0.1726
vn -0.0251 -0.9570 -0.2888
vn 0.0138 0.9638 0.2662
vn 0.9999 -0.0063 0.0113
vn -0.9065 0.2401 -0.3474
vn 0.2631 0.9608 0.0872
vn 0.0884 -0.4086 0.9084
vn 0.1151 -0.7760 -0.6201
vn 0.1420 0.9276 0.3455
vn 0.1940 -0.8036 -0.5626
vn 0.9998 -0.0105 0.0189
vn 0.1089 0.3552 -0.9284
vn -0.9627 0.0997 -0.2514
vn 0.0494 0.9010 0.4309
vn 1.0000 -0.0032 -0.0009
vn 0.1701 0.0612 -0.9835
vn -0.3554 -0.0336 -0.9341
vn -0.2673 0.3519 -0.8971
vn 0.0027 0.9172 -0.3984
vn -0.9952 0.0970 0.0152
vn 0.9854 0.0633 0.1582
vn 0.9935 0.1118 0.0209
vn 0.9888 0.1469 0.0274
vn -0.0239 -0.0093 0.9997
vn -0.9890 0.1454 0.0265
vn 0.0029 0.5063 -0.8624
vn 0.9820 0.0367 0.1855
vn -0.0068 0.9805 -0.1962
vn -0.9980 0.0306 0.0555
vn 0.0014 -0.9578 0.2875
vn -0.0552 0.1399 0.9886
vn -0.0161 0.9996 -0.0249
vn 0.0019 -0.9631 0.2690
vn -0.9971 0.0023 0.0759
vn -0.0000 -0.4497 -0.8932
vn -0.0000 -0.0000 -1.0000
vn -0.0000 0.3447 -0.9387
vn 0.9993 -0.0000 -0.0376
vn 0.9993 -0.0009 -0.0377
vn -0.0000 0.9993 -0.0383
vn -0.0000 -0.9998 -0.0206
vn 0.9901 0.1368 -0.0314
vn -0.9808 -0.1926 -0.0302
v 0.285220 -0.306557 -0.369022
v 0.322362 -0.317165 -0.261062
v 0.343467 -0.302403 -0.385416
v 0.368924 -0.313485 -0.273896
v 0.290013 -0.112715 -0.288332
v 0.323476 -0.173525 -0.215829
v 0.352603 -0.107768 -0.305584
v 0.370039 -0.169845 -0.228663
v 0.313472 -0.282474 -0.480820
v 0.305899 -0.094307 -0.466123
v 0.250690 -0.288091 -0.463829
v 0.248265 -0.098863 -0.450236
v 0.315042 -0.255677 -0.241247
v 0.353448 -0.222605 -0.366318
v 0.376243 -0.250840 -0.258116
v 0.275133 -0.228795 -0.344732
v 0.306822 -0.188042 -0.497506
v 0.242783 -0.193417 -0.479751
v 0.328963 -0.094936 -0.387948
v 0.266060 -0.099642 -0.370998
v 0.256312 -0.294010 -0.429786
v 0.325556 -0.290373 -0.451170
v 0.331511 -0.201707 -0.445538
v 0.249474 -0.208163 -0.425103
v 0.315600 -0.212794 -0.226928
v 0.356824 -0.163947 -0.337251
v 0.306541 -0.136889 -0.488441
v 0.376801 -0.207956 -0.243797
v 0.278508 -0.170136 -0.315665
v 0.243140 -0.141900 -0.470965
v 0.334727 -0.146782 -0.418122
v 0.253545 -0.153198 -0.395745
v 0.376243 -0.285911 -0.268173
v 0.274555 -0.274639 -0.358509
v 0.244437 -0.249179 -0.468971
v 0.315042 -0.290748 -0.251303
v 0.353299 -0.268056 -0.379890
v 0.312528 -0.243154 -0.486300
v 0.246945 -0.259562 -0.429467
v 0.333607 -0.251364 -0.452175
v 0.285002 -0.111885 -0.547600
v 0.284624 -0.075309 -0.538484
v 0.240924 -0.078763 -0.526438
v 0.241302 -0.115339 -0.535554
v 0.265142 -0.095745 -0.599045
v 0.264710 -0.065690 -0.591995
v 0.231536 -0.068311 -0.582851
v 0.231968 -0.098367 -0.589901
v 0.245138 -0.079879 -0.644839
v 0.244853 -0.060082 -0.640196
v 0.223002 -0.061809 -0.634173
v 0.223287 -0.081606 -0.638816
v 0.238589 -0.126121 -0.543036
v 0.238302 -0.156446 -0.552771
v 0.282403 -0.152961 -0.564927
v 0.282689 -0.122635 -0.555192
v 0.224842 -0.104653 -0.608086
v 0.224605 -0.129737 -0.616139
v 0.259885 -0.126949 -0.625863
v 0.260122 -0.101865 -0.617810
v 0.212474 -0.086380 -0.663496
v 0.212291 -0.105749 -0.669714
v 0.239533 -0.103596 -0.677223
v 0.239716 -0.084227 -0.671005
v 0.245255 -0.211794 -0.437667
v 0.235640 -0.203772 -0.470252
v 0.239644 -0.243118 -0.467006
v 0.247582 -0.250332 -0.438814
v 0.209040 -0.218297 -0.424812
v 0.199926 -0.212656 -0.455540
v 0.202827 -0.242012 -0.453432
v 0.211233 -0.248682 -0.425568
v 0.237970 -0.250875 -0.431151
v 0.227883 -0.243486 -0.463280
v 0.224030 -0.205538 -0.466375
v 0.235306 -0.213245 -0.430024
v 0.228892 -0.223387 -0.388623
v 0.230462 -0.247719 -0.389906
v 0.247651 -0.246870 -0.394579
v 0.246456 -0.221472 -0.392860
v 0.239437 -0.222641 -0.368515
v 0.241043 -0.247531 -0.369827
v 0.256136 -0.245131 -0.375942
v 0.256357 -0.221304 -0.373179
v 0.211074 -0.263639 -0.453702
v 0.213693 -0.287969 -0.451236
v 0.220098 -0.290426 -0.427654
v 0.217767 -0.267981 -0.429448
v 0.244401 -0.260805 -0.398326
v 0.246352 -0.279833 -0.396941
v 0.226050 -0.263629 -0.395257
v 0.227699 -0.279716 -0.394086
v 0.244023 -0.258082 -0.377504
v 0.245361 -0.271127 -0.376555
v 0.231216 -0.259837 -0.375381
v 0.232387 -0.271258 -0.374550
v 0.242235 -0.234909 -0.365645
v 0.250770 -0.246182 -0.369083
v 0.249798 -0.221958 -0.367300
v 0.258332 -0.233231 -0.370738
v 0.250591 -0.234249 -0.367948
v 0.340336 -0.064822 -0.314251
v 0.289619 -0.068389 -0.300918
v 0.275750 -0.028073 -0.348984
v 0.323192 -0.025853 -0.359801
v 0.347259 -0.086137 -0.309994
v 0.288925 -0.090417 -0.294400
v 0.323713 -0.063998 -0.376764
v 0.271488 -0.066639 -0.364561
v 0.307790 -0.003466 -0.402060
v 0.269355 -0.005186 -0.393491
v 0.305922 -0.036948 -0.417187
v 0.267487 -0.038668 -0.408618
v 0.290951 0.010285 -0.445364
v 0.264889 0.009062 -0.439487
v 0.289769 -0.012563 -0.455362
v 0.263707 -0.013786 -0.449485
v 0.389423 -0.241181 -0.011183
v 0.428240 -0.238113 -0.021883
v 0.390542 -0.278589 -0.008273
v 0.434238 -0.348579 -0.041377
v 0.428240 -0.370001 -0.059701
v 0.389423 -0.373069 -0.049002
v 0.390542 -0.352032 -0.029332
v 0.390542 -0.318275 -0.019653
v 0.434238 -0.275136 -0.020317
v 0.434238 -0.314821 -0.031697
v 0.616718 -0.481384 0.744553
v 0.655534 -0.478316 0.733854
v 0.617836 -0.518792 0.747464
v 0.661532 -0.588782 0.714360
v 0.655534 -0.610204 0.696036
v 0.616718 -0.613272 0.706735
v 0.617836 -0.592235 0.726404
v 0.617836 -0.558478 0.736084
v 0.661532 -0.515339 0.735420
v 0.661532 -0.555025 0.724040
vn -0.0693 0.9972 0.0269
vn 0.9795 0.1687 -0.1100
vn 0.1060 0.7854 0.6098
vn 0.9604 0.1984 -0.1956
vn 0.0434 -0.9929 -0.1105
vn -0.8879 -0.3691 0.2745
vn -0.9967 0.0312 0.0753
vn 0.0064 -0.9769 -0.2137
vn -0.9784 0.0912 0.1858
vn 0.8684 -0.1187 -0.4815
vn 0.9200 0.1044 -0.3777
vn -0.9872 -0.0075 0.1595
vn -0.2347 -0.2040 -0.9504
vn -0.9357 -0.1073 0.3360
vn 0.9709 0.0660 -0.2301
vn 0.9798 0.0546 -0.1923
vn -0.9451 -0.0305 0.3255
vn 0.9660 0.0680 -0.2495
vn 0.9317 -0.2088 -0.2973
vn -0.9522 0.0661 0.2984
vn 0.0031 -0.9814 -0.1918
vn 0.2293 0.2657 0.9364
vn -0.9558 -0.0825 0.2822
vn 0.9496 0.2172 -0.2261
vn -0.9345 -0.2676 0.2347
vn -0.9114 0.0193 0.4112
vn 0.9246 0.2310 -0.3028
vn -0.9916 -0.0052 0.1295
vn -0.0507 -0.8928 -0.4476
vn 0.9804 0.0441 -0.1921
vn 0.9662 0.0724 -0.2475
vn -0.8929 -0.3210 0.3158
vn 0.9471 -0.2199 -0.2338
vn -0.2380 -0.1521 -0.9593
vn -0.0758 -0.9889 -0.1279
vn 0.8868 0.0460 -0.4598
vn -0.9364 -0.0930 0.3384
vn 0.9710 0.0651 -0.2302
vn 0.9384 0.0922 -0.3330
vn -0.0060 0.9668 0.2556
vn -0.0315 -0.9247 -0.3794
vn 0.9551 0.1199 -0.2708
vn -0.0139 -0.9467 -0.3219
vn -0.0064 -0.9548 -0.2971
vn -0.0263 0.9821 0.1863
vn -0.9867 -0.0495 0.1545
vn -0.2753 0.2158 -0.9368
vn -0.0418 0.9903 0.1324
vn -0.9862 -0.0511 0.1575
vn 0.9240 0.0999 -0.3690
vn 0.0107 0.9502 0.3113
vn 0.9467 0.0724 -0.3140
vn -0.9982 -0.0057 0.0600
vn -0.0179 0.9765 0.2149
vn -0.0382 -0.9153 -0.4010
vn -0.0324 -0.9235 -0.3822
vn 0.9461 0.0908 -0.3108
vn -0.9804 -0.0518 0.1901
vn -0.2755 0.2962 -0.9145
vn 0.9396 0.0966 -0.3284
vn -0.9782 -0.0550 0.2002
vn 0.0106 0.9503 0.3110
vn -0.1254 -0.9738 -0.1895
vn -0.6568 -0.1481 -0.7394
vn -0.7727 0.5638 0.2916
vn -0.9713 -0.2191 0.0929
vn -0.9596 -0.0757 0.2710
vn -0.3749 -0.1088 -0.9207
vn -0.0133 -0.9972 0.0739
vn -0.1558 0.9587 0.2381
vn -0.0228 0.9732 0.2290
vn 0.6151 0.0168 0.7883
vn -0.2986 -0.1081 -0.9482
vn -0.0725 -0.9741 -0.2141
vn -0.8802 -0.0814 0.4676
vn -0.8777 -0.0780 0.4729
vn 0.9610 0.0709 -0.2674
vn -0.1065 0.9694 0.2210
vn 0.0508 0.0974 0.9940
vn 0.8971 0.0564 -0.4382
vn 0.1038 -0.9946 -0.0036
vn -0.0866 0.9960 0.0233
vn -0.9643 -0.0790 0.2528
vn 0.9671 0.2076 0.1470
vn -0.2769 0.9267 0.2540
vn -0.3354 -0.1588 -0.9286
vn 0.0602 -0.9190 0.3896
vn -0.2317 0.9724 -0.0259
vn -0.0314 -0.9363 0.3497
vn -0.9663 -0.0810 0.2445
vn 0.1512 0.0872 0.9846
vn 0.9947 0.1023 0.0047
vn -0.1663 0.9766 -0.1368
vn -0.9610 -0.0793 0.2649
vn 0.1076 -0.2146 0.9707
vn 0.5991 -0.2528 0.7597
vn 0.5042 0.1209 0.8551
vn 0.1072 0.7759 0.6216
vn 0.9524 0.1729 -0.2510
vn -0.9908 0.0279 0.1323
vn -0.9608 0.0375 0.2747
vn -0.9580 0.0734 0.2771
vn -0.2526 0.2577 -0.9326
vn 0.9434 0.2219 -0.2465
vn 0.2349 0.2579 0.9372
vn -0.9951 0.0098 0.0989
vn 0.0606 0.8911 0.4497
vn 0.9440 0.1199 -0.3073
vn -0.0806 -0.8446 -0.5293
vn -0.2194 0.4006 -0.8896
vn 0.0223 0.9555 0.2943
vn -0.0760 -0.8547 -0.5136
vn 0.9376 0.0981 -0.3337
vn 0.0075 0.9536 0.3008
vn 0.9613 0.0760 -0.2650
vn -0.0075 -0.9536 -0.3008
vn 0.9560 -0.0171 -0.2929
vn -0.9502 -0.0859 0.2995
vn -0.9502 -0.0868 0.2994
vn 0.0106 0.9504 0.3108
vn 0.0057 -0.9665 -0.2566
vn -0.9431 0.0480 0.3290
vn 0.9511 -0.1186 -0.2851
vn 0.2462 -0.6689 0.7014
vn 0.2756 -0.2650 0.9240
vn 0.2587 0.0826 0.9624
vn -0.9613 -0.0760 0.2650
vn -0.9574 -0.1683 0.2345
vn -0.9582 -0.0064 0.2861
vn 0.9593 0.1452 -0.2424
vt 0.625000 0.250000
vt 0.625000 0.000000
vt 0.625000 0.250000
@@ -414,13 +432,23 @@ f 116/2/110 117/40/110 115/1/110 114/2/110
f 111/1/111 110/2/111 114/2/111 115/1/111
f 112/2/112 113/40/112 117/40/112 116/2/112
f 110/6/113 112/6/113 116/6/113 114/6/113
f 124/41/114 123/10/114 122/13/114 121/42/114
f 120/43/115 125/44/115 127/45/115 126/46/115
f 118/47/116 120/43/116 126/46/116 119/48/116
f 125/44/115 124/41/115 121/42/115 127/45/115
f 13/30/117 36/14/117 124/14/117 125/30/117
f 25/29/118 13/30/118 125/30/118 120/29/118
f 8/8/119 6/9/119 118/9/119 119/8/119
f 2/10/120 4/13/120 122/13/120 123/10/120
f 6/9/121 25/29/121 120/29/121 118/9/121
f 4/13/122 33/31/122 121/31/122 122/13/122
f 119/8/114 118/9/114 128/9/114 129/8/114
f 121/31/115 127/32/115 137/32/115 131/31/115
f 123/10/116 122/13/116 132/13/116 133/10/116
f 122/13/117 121/31/117 131/31/117 132/13/117
f 13/30/118 36/14/118 124/14/118 125/30/118
f 25/29/119 13/30/119 125/30/119 120/29/119
f 8/8/120 6/9/120 118/9/120 119/8/120
f 2/10/121 4/13/121 122/13/121 123/10/121
f 6/9/122 25/29/122 120/29/122 118/9/122
f 4/13/123 33/31/123 121/31/123 122/13/123
f 134/41/124 133/10/124 132/13/124 131/42/124
f 130/43/125 135/44/125 137/45/125 136/46/125
f 128/47/126 130/43/126 136/46/126 129/48/126
f 135/44/125 134/41/125 131/42/125 137/45/125
f 120/29/127 125/30/127 135/30/127 130/29/127
f 125/30/127 124/14/127 134/14/127 135/30/127
f 124/14/128 123/10/128 133/10/128 134/14/128
f 118/9/129 120/29/129 130/29/129 128/9/129
f 126/4/130 119/7/130 129/7/130 136/4/130
f 127/32/115 126/4/115 136/4/115 137/32/115

View File

@@ -124,7 +124,12 @@ Mat4f Look(const Vec3f& eyePos, const Vec3f& front, const Vec3f& up);
Mat4f Inverse(const Mat4f& mat);
Mat4f Translate(const Vec3f& translation);
Mat4f RotateX(float angle);
Mat4f RotateY(float angle);
Mat4f RotateZ(float angle);
Mat4f Rotate(const Vec3f& angles);
} // namespace maths
} // namespace blitz

View File

@@ -12,6 +12,7 @@ namespace shader {
class EntityShader;
class WorldShader;
class GunShader;
} // namespace shader
@@ -23,8 +24,10 @@ class MainRenderer : public GuiListener {
Client* m_Client;
ModelLoader::Model m_PlayerModel;
ModelLoader::Model m_WorldModel;
ModelLoader::Model m_GunModel;
std::unique_ptr<shader::EntityShader> m_EntityShader;
std::unique_ptr<shader::WorldShader> m_WorldShader;
std::unique_ptr<shader::GunShader> m_GunShader;
input::PlayerController m_PlayerController;
unsigned int m_Texture;
Camera m_Camera;
@@ -39,6 +42,7 @@ class MainRenderer : public GuiListener {
void Render();
void RenderEntity(const GL::VertexArray& vao, const Vec3f& position, float yaw);
void RenderWorld(const GL::VertexArray& vao);
void RenderGun();
private:
void LoadModels();

View File

@@ -0,0 +1,26 @@
#pragma once
#include "ShaderProgram.h"
namespace blitz {
namespace shader {
class GunShader : public ShaderProgram {
private:
unsigned int m_LocationProjection = 0;
unsigned int m_LocationTransform = 0;
protected:
void GetAllUniformLocation() override;
public:
GunShader();
bool LoadShader();
void SetProjectionMatrix(const Mat4f& proj) const;
void SetModelTransform(const Mat4f& trans) const;
};
} // namespace shader
} // namespace blitz

View File

@@ -99,6 +99,16 @@ Mat4f Translate(const Vec3f& translation) {
return mat;
}
Mat4f RotateX(float angle) {
Mat4f mat = Identity<float>();
mat.at(1, 1) = mat.at(2, 2) = std::cos(angle);
mat.at(2, 1) = std::sin(angle);
mat.at(1, 2) = -mat.at(0, 2);
return mat;
}
Mat4f RotateY(float angle) {
Mat4f mat = Identity<float>();
@@ -109,5 +119,19 @@ Mat4f RotateY(float angle) {
return mat;
}
Mat4f RotateZ(float angle) {
Mat4f mat = Identity<float>();
mat.at(0, 0) = mat.at(1, 1) = std::cos(angle);
mat.at(1, 0) = std::sin(angle);
mat.at(0, 1) = -mat.at(0, 2);
return mat;
}
Mat4f Rotate(const Vec3f& angle) {
return maths::Dot(maths::Dot(RotateX(angle.x), RotateY(angle.y)), RotateZ(angle.z));
}
} // namespace maths
} // namespace blitz

View File

@@ -11,6 +11,7 @@
#include "client/render/loader/ModelLoader.h"
#include "client/render/loader/TextureLoader.h"
#include "client/render/shader/EntityShader.h"
#include "client/render/shader/GunShader.h"
#include "client/render/shader/WorldShader.h"
#include "imgui.h"
#include <glbinding/gl/gl.h>
@@ -35,6 +36,9 @@ MainRenderer::MainRenderer(Client* client) : m_Client(client) {
m_WorldShader = std::make_unique<shader::WorldShader>();
blitz_debug_assert(m_WorldShader->LoadShader());
m_GunShader = std::make_unique<shader::GunShader>();
blitz_debug_assert(m_GunShader->LoadShader());
glEnable(GL_DEPTH_TEST);
glEnable(GL_TEXTURE_2D);
@@ -49,6 +53,7 @@ MainRenderer::~MainRenderer() {}
void MainRenderer::LoadModels() {
m_WorldModel = ModelLoader::LoadModel("base_deambu.glb");
m_PlayerModel = ModelLoader::LoadModel("human.obj");
m_GunModel = ModelLoader::LoadModel("fingergun.obj");
m_Texture = TextureLoader::LoadGLTexture("carrelage.png");
glBindTexture(GL_TEXTURE_2D, m_Texture);
@@ -80,6 +85,7 @@ void MainRenderer::Render() {
RenderWorld();
RenderPlayers();
RenderGun();
}
void MainRenderer::RenderPlayers() {
@@ -92,6 +98,22 @@ void MainRenderer::RenderPlayers() {
}
}
void MainRenderer::RenderGun() {
if (!m_Camera.GetAttachedPlayer())
return;
m_GunShader->Start();
Mat4f modelTransform = maths::Translate({0.0, 0.0, -0.5});
m_GunShader->SetModelTransform(modelTransform);
for (auto& Vao : m_GunModel.mVaos) {
Vao->Bind();
glDrawElements(GL_TRIANGLES, Vao->GetVertexCount(), GL_UNSIGNED_INT, nullptr);
Vao->Unbind();
}
}
void MainRenderer::RenderWorld() {
// temporary code
if (m_Camera.GetAttachedPlayer()) {
@@ -120,6 +142,9 @@ void MainRenderer::Update() {
m_WorldShader->Start();
m_WorldShader->SetProjectionMatrix(m_Camera.GetPerspectiveMatrix());
m_WorldShader->SetViewMatrix(m_Camera.GetViewMatrix());
m_GunShader->Start();
m_GunShader->SetProjectionMatrix(m_Camera.GetPerspectiveMatrix());
}
void MainRenderer::OnSpectatorChange(const game::PlayerID player) {

View File

@@ -0,0 +1,64 @@
#include "client/render/shader/GunShader.h"
namespace blitz {
namespace shader {
static const std::string vertexSource = ShaderProgram::GetShaderHeader() + R"(
layout(location = 0) in vec3 position;
layout(location = 1) in vec2 textureCoords;
layout(location = 2) in vec3 normal;
uniform mat4 projectionMatrix;
uniform mat4 modelMatrix;
out vec2 pass_textureCoords;
out vec4 pos;
void main(void){
pos = projectionMatrix * modelMatrix * vec4(position, 1.0);
gl_Position = pos;
pass_textureCoords = textureCoords;
}
)";
static const std::string fragmentSource = ShaderProgram::GetShaderHeader() + R"(
uniform sampler2D textureSampler;
in vec2 pass_textureCoords;
in vec4 pos;
out vec4 out_color;
void main(void){
out_color = pos;
// out_color = gl_Position + vec4(0.5, 0.5, 0.5, 0);
// out_color = texture(textureSampler, pass_textureCoords);
}
)";
GunShader::GunShader() : ShaderProgram() {}
bool GunShader::LoadShader() {
return ShaderProgram::LoadProgram(vertexSource, fragmentSource);
}
void GunShader::GetAllUniformLocation() {
m_LocationProjection = static_cast<unsigned int>(GetUniformLocation("projectionMatrix"));
m_LocationTransform = static_cast<unsigned int>(GetUniformLocation("modelMatrix"));
}
void GunShader::SetProjectionMatrix(const Mat4f& proj) const {
LoadMat4(m_LocationProjection, proj);
}
void GunShader::SetModelTransform(const Mat4f& trans) const {
LoadMat4(m_LocationTransform, trans);
}
} // namespace shader
} // namespace blitz

View File

@@ -54,7 +54,7 @@ void main(void){
float lightDistance = length(toLightVector);
const vec3 attenuation = vec3(0.3, 0.3, 0.3);
const vec3 attenuation = vec3(0.3, 0.3, 0.03);
float attenuationFactor = attenuation.x + attenuation.y * lightDistance + attenuation.z * lightDistance * lightDistance;
vec3 unitNormal = normalize(surfaceNormal);