diff --git a/grafika_projekt/models/fish2.mtl b/grafika_projekt/models/fish2.mtl new file mode 100644 index 0000000..a6e52a3 --- /dev/null +++ b/grafika_projekt/models/fish2.mtl @@ -0,0 +1,13 @@ +# Blender MTL File: 'newaaaa3.blend' +# Material Count: 1 + +newmtl FISH +Ns 96.078431 +Ka 1.000000 1.000000 1.000000 +Kd 0.640000 0.640000 0.640000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.000000 +d 1.000000 +illum 2 +map_Kd C:\Users\P4YN3\Desktop\P1_484AnabastestudineusCTUP01206_20121120.png diff --git a/grafika_projekt/models/fish2.obj b/grafika_projekt/models/fish2.obj new file mode 100644 index 0000000..2cbb9a7 --- /dev/null +++ b/grafika_projekt/models/fish2.obj @@ -0,0 +1,919 @@ +# Blender v2.79 (sub 0) OBJ File: 'newaaaa3.blend' +# www.blender.org +mtllib fish2.mtl +o FISH_Plane +v 0.637210 0.027893 0.385041 +v 0.630244 0.025130 2.578381 +v 0.706934 -0.859753 0.441920 +v 0.245722 -0.089743 -2.513955 +v 0.386398 0.819295 0.437010 +v 0.396645 0.719626 2.523860 +v 0.656858 -0.785386 2.610010 +v 0.265410 -0.431946 -2.531150 +v 0.172274 0.235627 -2.484186 +v -0.053337 0.531073 -2.458965 +v -0.055472 1.461152 0.496648 +v -0.051699 1.356632 2.474756 +v 0.185793 0.051192 4.843890 +v 0.174016 -0.049116 4.861904 +v 0.177888 -0.157236 4.849121 +v 0.108008 -1.415921 2.492424 +v -0.043365 -1.549272 0.450552 +v -0.047325 -0.731821 -2.551451 +v -0.056079 -0.697001 -4.527766 +v -0.056079 -0.105278 -4.389502 +v -0.056079 0.486445 -4.527766 +v 0.169879 0.179935 4.839464 +v 0.153369 -0.274611 4.851509 +v -0.056079 1.078168 -4.818175 +v -0.056079 -1.288724 -4.818175 +v 0.702925 0.014120 1.617417 +v 0.458215 0.862259 1.585920 +v 0.682739 -0.887081 1.632500 +v -0.055754 1.530250 1.582533 +v -0.048785 -1.518219 1.637078 +v 0.443846 0.033709 -1.509664 +v 0.457538 -0.536087 -1.512073 +v 0.183243 0.558052 -1.421361 +v -0.055077 1.041507 -1.376986 +v -0.040545 -1.348053 -1.421288 +v 0.481740 0.000053 3.623899 +v 0.301909 0.439209 3.574004 +v 0.448746 -0.516257 3.640587 +v 0.121166 0.879929 3.569696 +v 0.196013 -1.119060 3.635880 +v -0.055548 1.250899 -0.439844 +v 0.534328 0.006281 -0.601439 +v 0.552675 -0.677139 -0.575528 +v 0.318129 0.682234 -0.515758 +v -0.037713 -1.453752 -0.453209 +v -0.056079 -2.267688 0.626610 +v -0.056033 -1.925169 1.370098 +v -0.052403 -1.795025 0.014863 +v -0.055310 -1.243719 -2.996632 +v -0.053073 -1.667008 -2.300243 +v -0.046446 -1.778182 -0.962715 +v -0.056079 1.511209 -3.033050 +v -0.056079 2.054451 -0.032900 +v -0.056079 1.925020 1.911451 +v -0.056079 2.123271 1.052596 +v -0.056079 1.501193 -1.842815 +v -0.056079 1.843554 -0.968612 +v -0.047666 -0.074216 -2.804092 +v -0.054938 -0.105166 -3.540679 +v -0.047190 -0.377083 -2.812579 +v -0.055412 -0.553038 -3.540652 +v -0.050667 0.220212 -2.788079 +v -0.055878 0.342190 -3.539401 +v -0.056079 0.789439 -3.539116 +v -0.054796 0.514941 -2.768621 +v -0.050706 -0.723831 -2.800561 +v -0.055983 -1.000863 -3.538546 +v -0.712984 0.021939 0.406196 +v -0.701948 0.026627 2.545476 +v -0.771903 -0.847612 0.455152 +v -0.350543 -0.092066 -2.500460 +v -0.449122 0.797287 0.456436 +v -0.448091 0.708516 2.494225 +v -0.738851 -0.768891 2.578321 +v -0.372032 -0.429254 -2.516105 +v -0.283997 0.230148 -2.476547 +v -0.064815 0.519658 -2.463973 +v -0.062689 1.460950 0.496798 +v -0.065677 1.351923 2.464377 +v -0.293776 0.046687 4.826990 +v -0.283475 -0.050879 4.841642 +v -0.285938 -0.153632 4.829079 +v -0.232315 -1.411279 2.483379 +v -0.073118 -1.551480 0.519560 +v -0.070294 -0.762669 -2.525684 +v -0.062167 -0.697001 -4.527766 +v -0.062167 -0.105278 -4.389503 +v -0.062167 0.486445 -4.527766 +v -0.284450 0.148799 4.829336 +v -0.263804 -0.286305 4.829614 +v -0.062167 1.078168 -4.818175 +v -0.062167 -1.288724 -4.818175 +v -0.761665 0.013049 1.610346 +v -0.497327 0.837082 1.585004 +v -0.749378 -0.870502 1.626574 +v -0.062425 1.529913 1.582579 +v -0.068965 -1.495516 1.648666 +v -0.520754 0.026061 -1.482096 +v -0.540659 -0.538364 -1.489859 +v -0.294022 0.551894 -1.412405 +v -0.063097 1.040981 -1.376443 +v -0.075476 -1.348786 -1.412351 +v -0.578554 -0.001100 3.604079 +v -0.416406 0.438031 3.558766 +v -0.560722 -0.508208 3.624372 +v -0.236275 0.867982 3.556402 +v -0.314789 -1.110981 3.612234 +v -0.062646 1.250598 -0.439511 +v -0.605416 0.002137 -0.573115 +v -0.636632 -0.682388 -0.558766 +v -0.398454 0.670679 -0.495448 +v -0.078074 -1.444666 -0.451725 +v -0.062167 -2.267688 0.626610 +v -0.062217 -1.925218 1.370021 +v -0.065719 -1.788794 -0.004039 +v -0.062818 -1.239315 -2.997689 +v -0.064884 -1.660424 -2.303263 +v -0.070536 -1.758143 -0.965770 +v -0.062167 1.511209 -3.033050 +v -0.062167 2.054451 -0.032900 +v -0.062167 1.925020 1.911451 +v -0.062167 2.123271 1.052596 +v -0.062167 1.501193 -1.842815 +v -0.062167 1.843554 -0.968612 +v -0.069949 -0.074632 -2.798994 +v -0.063264 -0.105174 -3.540549 +v -0.070446 -0.375577 -2.806435 +v -0.062809 -0.552999 -3.540514 +v -0.067194 0.219029 -2.785591 +v -0.062360 0.342186 -3.539387 +v -0.062167 0.789439 -3.539116 +v -0.063372 0.514327 -2.772136 +v -0.067503 -0.719607 -2.776257 +v -0.062264 -1.000987 -3.538653 +v -0.062905 0.591908 -2.564858 +v -0.062400 1.462013 2.542262 +v -0.064931 0.041481 5.061940 +v -0.065204 -0.053551 5.061719 +v -0.065359 -0.148572 5.056064 +v -0.068104 -1.491742 2.553922 +v -0.061093 -1.677462 0.412323 +v -0.058886 -0.824183 -2.687964 +v -0.062302 -0.730150 -4.570870 +v -0.062302 -0.105562 -4.432606 +v -0.062302 0.519026 -4.570870 +v -0.063918 0.186000 5.042500 +v -0.068120 -0.290228 5.032509 +v -0.062302 1.143613 -4.861279 +v -0.062302 -1.354738 -4.861279 +v -0.071154 -1.579084 1.699997 +v -0.063238 1.079870 3.685630 +v -0.067236 -1.198816 3.765310 +v -0.062300 -2.359720 0.609693 +v -0.062300 -2.002168 1.384396 +v -0.060168 -1.865246 -0.039286 +v -0.062907 -1.289451 -3.163004 +v -0.061405 -1.745965 -2.450265 +v -0.066742 -1.900245 -1.052662 +v -0.062300 1.581300 -3.206974 +v -0.062302 2.147848 -0.078111 +v -0.062302 2.012864 1.949657 +v -0.062302 2.219620 1.053955 +v -0.062302 1.570854 -1.965676 +v -0.062302 1.927903 -1.053967 +v -0.062300 0.838848 -3.534988 +v -0.062392 0.560308 -2.718858 +v -0.059615 -0.822842 -2.719636 +v -0.062295 -1.051254 -3.534064 +v 0.372499 -0.019943 4.242424 +v 0.278733 0.281054 4.204535 +v 0.356251 -0.368346 4.244604 +v 0.169007 0.598788 4.199661 +v 0.201556 -0.770173 4.243309 +v -0.474356 -0.021570 4.220061 +v -0.389632 0.277883 4.186603 +v -0.465780 -0.361844 4.224373 +v -0.283923 0.574750 4.186593 +v -0.316211 -0.772189 4.217900 +v -0.068905 -0.823387 4.416515 +v -0.064330 0.727226 4.377632 +v 0.681823 -0.174494 2.015158 +v 0.682229 -0.187965 2.181139 +v 0.643300 -0.652937 2.087316 +v 0.678606 -0.636946 2.151419 +v -0.738473 -0.156972 2.025582 +v -0.747732 -0.214758 2.160238 +v -0.765719 -0.673262 2.000917 +v -0.763302 -0.638924 2.089587 +v 0.678698 -0.160230 1.970646 +v 0.654471 -0.167349 2.215504 +v 0.674112 -0.689511 1.958336 +v 0.665486 -0.647628 2.225219 +v -0.741759 -0.119110 1.922056 +v -0.721854 -0.159501 2.229180 +v -0.745869 -0.738706 1.943823 +v -0.742360 -0.656675 2.167926 +v -0.947884 0.108908 1.069726 +v -0.984275 0.176911 1.043908 +v -0.950049 -0.784809 1.009566 +v -1.004840 -0.874144 0.980422 +v 0.960385 0.039639 1.074327 +v 1.012384 0.067754 1.065536 +v 0.955013 -0.845337 0.965003 +v 1.025137 -0.914933 0.952044 +v 0.670190 -0.401869 2.070609 +v 0.691818 -0.416439 2.209989 +v 0.957699 -0.399897 0.805935 +v 1.018761 -0.420274 0.768748 +v -0.739941 -0.392984 2.037081 +v -0.780649 -0.374199 2.143767 +v -0.961819 -0.389917 0.806692 +v -0.994557 -0.410301 0.739268 +vt 0.350704 0.501343 +vt 0.353560 0.653365 +vt 0.268516 0.627799 +vt 0.263572 0.503316 +vt 0.292616 0.502658 +vt 0.321660 0.502001 +vt 0.111154 0.475219 +vt 0.116420 0.528591 +vt 0.057177 0.495202 +vt 0.054934 0.477481 +vt 0.353867 0.773098 +vt 0.272968 0.741978 +vt 0.118801 0.585354 +vt 0.058363 0.518172 +vt 0.260704 0.358037 +vt 0.290248 0.351961 +vt 0.349337 0.339809 +vt 0.319793 0.345885 +vt 0.271366 0.245019 +vt 0.353917 0.219723 +vt 0.055431 0.457991 +vt 0.108829 0.412939 +vt 0.054684 0.445577 +vt 0.112186 0.381389 +vt 0.634241 0.504854 +vt 0.634460 0.402722 +vt 0.726861 0.421389 +vt 0.725302 0.482726 +vt 0.818396 0.479962 +vt 0.818394 0.399684 +vt 0.895360 0.373880 +vt 0.895360 0.479942 +vt 0.626228 0.257183 +vt 0.727926 0.387558 +vt 0.777187 0.377330 +vt 0.897686 0.290801 +vt 0.722603 0.541046 +vt 0.626235 0.598839 +vt 0.720316 0.594003 +vt 0.622211 0.685494 +vt 0.895360 0.586003 +vt 0.818281 0.560147 +vt 0.895360 0.672146 +vt 0.818255 0.620394 +vt 0.457288 0.344708 +vt 0.451298 0.214685 +vt 0.462446 0.503811 +vt 0.457733 0.645664 +vt 0.452326 0.760712 +vt 0.544122 0.621097 +vt 0.537239 0.723026 +vt 0.551891 0.499938 +vt 0.549542 0.377440 +vt 0.538451 0.238238 +vt 0.162249 0.384740 +vt 0.168493 0.315205 +vt 0.166912 0.476873 +vt 0.177189 0.633572 +vt 0.174107 0.554807 +vt 0.448509 0.218873 +vt 0.346104 0.225515 +vt 0.367039 0.134393 +vt 0.416271 0.058454 +vt 0.572096 0.215980 +vt 0.487847 0.212462 +vt 0.494736 0.181176 +vt 0.615804 0.192333 +vt 0.659834 0.238246 +vt 0.738807 0.231500 +vt 0.725677 0.329224 +vt 0.759120 0.288304 +vt 0.381391 0.802419 +vt 0.479850 0.790034 +vt 0.510177 0.854886 +vt 0.429441 0.908713 +vt 0.649735 0.714815 +vt 0.719541 0.618459 +vt 0.785226 0.743380 +vt 0.684590 0.774104 +vt 0.300492 0.771299 +vt 0.325729 0.857369 +vt 0.564763 0.752347 +vt 0.604094 0.818444 +vt 0.750157 0.538283 +vt 0.748393 0.591111 +vt 0.751609 0.485509 +vt 0.750514 0.388990 +vt 0.752378 0.431222 +vt 0.351345 0.501151 +vt 0.323082 0.501962 +vt 0.294819 0.502773 +vt 0.266556 0.503585 +vt 0.271203 0.625808 +vt 0.353643 0.648852 +vt 0.113167 0.474658 +vt 0.056757 0.476921 +vt 0.058678 0.494192 +vt 0.118023 0.527807 +vt 0.273909 0.741134 +vt 0.353863 0.773037 +vt 0.059089 0.512482 +vt 0.119837 0.580897 +vt 0.292343 0.354923 +vt 0.263578 0.360994 +vt 0.349874 0.342781 +vt 0.352966 0.223407 +vt 0.272186 0.245851 +vt 0.321108 0.348852 +vt 0.110699 0.413857 +vt 0.057266 0.458393 +vt 0.116040 0.371834 +vt 0.056669 0.443481 +vt 0.631742 0.503483 +vt 0.724078 0.482310 +vt 0.725497 0.421871 +vt 0.632445 0.402314 +vt 0.818385 0.479960 +vt 0.895360 0.479942 +vt 0.895360 0.373880 +vt 0.818381 0.399691 +vt 0.725590 0.382028 +vt 0.625418 0.257052 +vt 0.897686 0.290801 +vt 0.777197 0.377307 +vt 0.625423 0.597735 +vt 0.721910 0.540064 +vt 0.622162 0.685400 +vt 0.720770 0.591957 +vt 0.818279 0.560146 +vt 0.895360 0.586003 +vt 0.818255 0.620394 +vt 0.895360 0.672146 +vt 0.456089 0.346884 +vt 0.445634 0.214327 +vt 0.460527 0.502744 +vt 0.455972 0.641719 +vt 0.452312 0.760676 +vt 0.542281 0.619026 +vt 0.537209 0.722972 +vt 0.549323 0.499195 +vt 0.548022 0.376499 +vt 0.538316 0.239866 +vt 0.170637 0.316653 +vt 0.163765 0.385983 +vt 0.168698 0.476427 +vt 0.175479 0.554412 +vt 0.178318 0.631274 +vt 0.443857 0.218578 +vt 0.416271 0.058454 +vt 0.367046 0.134385 +vt 0.345153 0.229198 +vt 0.572020 0.217637 +vt 0.616214 0.195905 +vt 0.496501 0.182053 +vt 0.482139 0.212914 +vt 0.659015 0.238230 +vt 0.739126 0.232648 +vt 0.723125 0.323999 +vt 0.759245 0.289084 +vt 0.381387 0.802359 +vt 0.429441 0.908713 +vt 0.510177 0.854886 +vt 0.479836 0.789997 +vt 0.649686 0.714721 +vt 0.684590 0.774104 +vt 0.785226 0.743380 +vt 0.719995 0.616413 +vt 0.301433 0.770455 +vt 0.325729 0.857369 +vt 0.604094 0.818444 +vt 0.564733 0.752293 +vt 0.748712 0.591001 +vt 0.749932 0.538071 +vt 0.751147 0.485435 +vt 0.751821 0.431492 +vt 0.748310 0.389747 +vt 0.729917 0.604907 +vt 0.743881 0.599243 +vt 0.103808 0.619924 +vt 0.167922 0.670728 +vt 0.037391 0.496098 +vt 0.040033 0.521708 +vt 0.036831 0.479100 +vt 0.036762 0.462038 +vt 0.036722 0.451971 +vt 0.266034 0.234324 +vt 0.156757 0.300909 +vt 0.272430 0.248746 +vt 0.901594 0.278969 +vt 0.776781 0.368297 +vt 0.899269 0.367938 +vt 0.899269 0.479891 +vt 0.899269 0.591843 +vt 0.899269 0.683877 +vt 0.348020 0.220949 +vt 0.266034 0.233841 +vt 0.272430 0.248264 +vt 0.352233 0.234507 +vt 0.266847 0.760867 +vt 0.096481 0.371851 +vt 0.412846 0.056168 +vt 0.365866 0.118040 +vt 0.367046 0.130524 +vt 0.411458 0.071100 +vt 0.451087 0.201788 +vt 0.417412 0.046189 +vt 0.365866 0.121901 +vt 0.340940 0.215640 +vt 0.773990 0.277896 +vt 0.751967 0.215316 +vt 0.623202 0.169160 +vt 0.499211 0.167813 +vt 0.490239 0.191096 +vt 0.737518 0.310799 +vt 0.514277 0.871627 +vt 0.611834 0.833563 +vt 0.322265 0.873114 +vt 0.429318 0.925983 +vt 0.695730 0.786590 +vt 0.800996 0.755943 +vt 0.729142 0.629364 +vt 0.294371 0.790188 +vt 0.817880 0.629250 +vt 0.743176 0.371243 +vt 0.740304 0.371002 +vt 0.784771 0.771217 +vt 0.800540 0.783780 +vt 0.768602 0.229303 +vt 0.783688 0.221106 +vt 0.584649 0.180086 +vt 0.499110 0.166341 +vt 0.504020 0.153755 +vt 0.592804 0.158207 +vt 0.696159 0.219318 +vt 0.709761 0.205166 +vt 0.353184 0.230824 +vt 0.271610 0.247432 +vt 0.271610 0.247914 +vt 0.042671 0.878481 +vt 0.031238 0.920399 +vt 0.115499 0.965937 +vt 0.149369 0.885954 +vt 0.030324 0.876673 +vt 0.021073 0.915797 +vt 0.109429 0.973711 +vt 0.148346 0.886472 +vt 0.298387 0.471601 +vt 0.307158 0.474224 +vt 0.322295 0.511669 +vt 0.290740 0.512384 +vt 0.313439 0.385668 +vt 0.306382 0.384168 +vt 0.288168 0.348660 +vt 0.320266 0.342059 +vt 0.309206 0.429946 +vt 0.299818 0.427109 +vt 0.306983 0.477636 +vt 0.300377 0.475414 +vt 0.293134 0.512508 +vt 0.323840 0.511627 +vt 0.307337 0.383783 +vt 0.314417 0.384847 +vt 0.321696 0.345282 +vt 0.290444 0.351878 +vt 0.312509 0.431676 +vt 0.302048 0.435334 +vt 0.161052 0.889523 +vt 0.142339 0.783019 +vt 0.129193 0.781042 +vt 0.042953 0.819140 +vt 0.027886 0.816874 +vt 0.044887 0.880170 +vt 0.035132 0.920526 +vt 0.119664 0.977154 +vt 0.135888 0.881880 +vt 0.121873 0.780490 +vt 0.135818 0.783454 +vt 0.016320 0.914457 +vt 0.104638 0.961612 +vt 0.027220 0.873812 +vt 0.026432 0.812492 +vt 0.099111 0.816974 +vt 0.125430 0.884312 +vt 0.042415 0.815890 +vt 0.124939 0.944586 +vn 0.9867 0.1613 0.0187 +vn 0.8936 0.4480 0.0253 +vn 0.8938 0.4293 0.1294 +vn 0.9759 0.1828 0.1189 +vn 0.9644 0.1995 0.1733 +vn 0.9873 0.1359 0.0815 +vn 0.9665 0.1253 0.2240 +vn 0.9345 0.3082 0.1781 +vn 0.8462 0.1701 0.5049 +vn 0.8188 0.0351 0.5730 +vn 0.9569 0.2900 0.0151 +vn 0.9137 0.3928 0.1036 +vn 0.8180 0.5105 0.2650 +vn 0.7834 0.3858 0.4872 +vn 0.9258 -0.3595 0.1165 +vn 0.9475 -0.2674 0.1755 +vn 0.9034 -0.4285 0.0174 +vn 0.9537 -0.2965 0.0498 +vn 0.6558 -0.7475 0.1053 +vn 0.8524 -0.5199 0.0552 +vn 0.8293 -0.1242 0.5448 +vn 0.9462 -0.1941 0.2590 +vn 0.7180 -0.3938 0.5739 +vn 0.7163 -0.5731 0.3980 +vn 0.9643 0.2170 -0.1518 +vn 0.9430 -0.2813 -0.1776 +vn 0.8723 -0.2288 -0.4321 +vn 0.8776 0.1512 -0.4549 +vn 1.0000 0.0015 -0.0051 +vn 1.0000 -0.0017 -0.0047 +vn 0.9961 0.0245 -0.0842 +vn 0.9977 0.0001 -0.0674 +vn 0.9567 -0.2785 -0.0844 +vn 0.9247 -0.2993 -0.2353 +vn 0.9985 -0.0535 0.0114 +vn 0.9901 0.0257 -0.1375 +vn 0.8681 0.3531 -0.3488 +vn 0.8756 0.4529 -0.1676 +vn 0.9495 0.2708 -0.1583 +vn 0.9646 0.2499 -0.0839 +vn 0.9962 -0.0245 -0.0838 +vn 1.0000 0.0031 -0.0027 +vn 0.9905 -0.0244 -0.1353 +vn 0.9978 0.0631 0.0176 +vn 0.9225 -0.3785 -0.0754 +vn 0.9142 -0.4031 -0.0426 +vn 0.9819 0.1721 -0.0791 +vn 0.8897 0.4473 -0.0907 +vn 0.9557 0.2909 -0.0448 +vn 0.8883 0.4396 -0.1329 +vn 0.9559 0.2840 -0.0742 +vn 0.9742 0.1924 -0.1176 +vn 0.9423 -0.3082 -0.1306 +vn 0.9333 -0.3519 -0.0717 +vn 0.9512 -0.2420 0.1912 +vn 0.6577 -0.7040 0.2680 +vn 0.9719 0.1686 0.1640 +vn 0.8427 0.5116 0.1677 +vn 0.9110 0.3882 0.1394 +vn 0.9952 -0.0659 0.0716 +vn 0.9961 -0.0559 -0.0682 +vn 0.9938 -0.1064 0.0316 +vn 0.9966 -0.0826 -0.0037 +vn 0.9978 -0.0639 -0.0144 +vn 0.9984 0.0141 -0.0549 +vn 0.9994 0.0333 -0.0042 +vn 0.9993 0.0357 0.0030 +vn 0.9993 0.0215 -0.0307 +vn 0.9996 0.0275 -0.0073 +vn 0.9991 0.0370 0.0198 +vn 0.9995 0.0306 -0.0085 +vn 0.9545 0.1327 -0.2671 +vn 0.9838 0.1593 -0.0814 +vn 0.9265 0.0528 -0.3725 +vn 0.9801 -0.1452 -0.1352 +vn 0.9380 -0.0779 -0.3378 +vn -0.9842 0.1761 0.0173 +vn -0.9882 0.1476 0.0419 +vn -0.9805 0.1621 0.1109 +vn -0.9749 0.2013 0.0947 +vn -0.9072 0.4083 0.1012 +vn -0.9075 0.4193 0.0248 +vn -0.9682 0.1226 0.2180 +vn -0.8501 0.0313 0.5257 +vn -0.8684 0.1526 0.4717 +vn -0.9380 0.2968 0.1791 +vn -0.9385 0.3369 0.0754 +vn -0.9681 0.2501 0.0139 +vn -0.8172 0.3467 0.4603 +vn -0.8418 0.4781 0.2506 +vn -0.9388 -0.3111 0.1473 +vn -0.9386 -0.3316 0.0947 +vn -0.9170 -0.3986 0.0130 +vn -0.8727 -0.4883 0.0031 +vn -0.7128 -0.6962 0.0841 +vn -0.9315 -0.3628 0.0266 +vn -0.9510 -0.1759 0.2542 +vn -0.8562 -0.1078 0.5052 +vn -0.7463 -0.5478 0.3780 +vn -0.7598 -0.3746 0.5313 +vn -0.9702 0.2026 -0.1327 +vn -0.8925 0.1396 -0.4289 +vn -0.8859 -0.2134 -0.4118 +vn -0.9515 -0.2609 -0.1627 +vn -1.0000 0.0014 -0.0047 +vn -1.0000 0.0001 0.0010 +vn -1.0000 -0.0008 0.0016 +vn -1.0000 -0.0015 -0.0044 +vn -0.9362 -0.2784 -0.2141 +vn -0.9610 -0.2649 -0.0791 +vn -1.0000 -0.0011 0.0031 +vn -0.9999 -0.0140 0.0023 +vn -0.8932 0.4232 -0.1518 +vn -0.8843 0.3289 -0.3313 +vn -0.9691 0.2343 -0.0761 +vn -0.9552 0.2560 -0.1483 +vn -1.0000 0.0029 -0.0025 +vn -1.0000 0.0007 0.0017 +vn -1.0000 0.0028 -0.0001 +vn -1.0000 0.0006 0.0031 +vn -0.9302 -0.3609 -0.0669 +vn -0.9276 -0.3721 -0.0323 +vn -0.9811 0.1801 -0.0702 +vn -0.9050 0.4186 -0.0760 +vn -0.9664 0.2542 -0.0369 +vn -0.9044 0.4106 -0.1158 +vn -0.9647 0.2555 -0.0629 +vn -0.9757 0.1908 -0.1079 +vn -0.9482 -0.2927 -0.1230 +vn -0.9387 -0.3380 -0.0668 +vn -0.6936 -0.6751 0.2515 +vn -0.9589 -0.2211 0.1777 +vn -0.9745 0.1718 0.1440 +vn -0.9188 0.3758 0.1203 +vn -0.8701 0.4713 0.1441 +vn -0.9996 -0.0119 -0.0260 +vn -0.9999 -0.0056 -0.0089 +vn -0.9995 -0.0297 -0.0009 +vn -0.9976 -0.0671 0.0185 +vn -0.9998 -0.0160 -0.0071 +vn -0.9995 0.0145 -0.0255 +vn -1.0000 -0.0003 -0.0002 +vn -1.0000 -0.0004 0.0000 +vn -1.0000 0.0006 0.0002 +vn -1.0000 -0.0017 -0.0032 +vn -1.0000 0.0039 0.0018 +vn -1.0000 -0.0002 0.0001 +vn -0.9912 0.0999 -0.0861 +vn -0.9587 0.1253 -0.2553 +vn -0.9326 0.0482 -0.3577 +vn -0.9430 -0.0735 -0.3245 +vn -0.9777 -0.1413 -0.1555 +vn -0.1186 0.6918 -0.7122 +vn -0.0751 0.9968 -0.0252 +vn -0.0475 0.8512 0.5226 +vn -0.0349 0.9398 0.3398 +vn -0.0406 0.0746 0.9964 +vn -0.0355 0.4422 0.8962 +vn -0.0454 -0.0228 0.9987 +vn -0.0447 -0.1165 0.9922 +vn -0.0494 -0.4386 0.8973 +vn -0.0489 -0.9870 0.1532 +vn -0.0338 -0.9189 0.3931 +vn 0.1186 -0.9094 -0.3985 +vn -0.0414 -0.9693 0.2421 +vn -0.1683 0.4024 -0.8998 +vn -0.0923 0.0012 -0.9957 +vn -0.1661 -0.4021 -0.9004 +vn 0.1165 0.9053 -0.4085 +vn -0.1227 -0.9885 0.0882 +vn -0.0306 0.9626 0.2692 +vn -0.0389 -0.8014 0.5969 +vn -0.0419 -0.7881 -0.6141 +vn -0.0643 -0.7917 0.6074 +vn -0.0781 -0.9258 -0.3697 +vn -0.0225 0.1529 -0.9880 +vn -0.0274 -0.9158 -0.4006 +vn -0.0503 -0.9965 -0.0661 +vn -0.0335 -0.9901 0.1366 +vn -0.0235 -0.2826 -0.9589 +vn -0.0305 0.9872 -0.1562 +vn -0.0284 0.9489 -0.3142 +vn -0.0283 0.8762 0.4810 +vn -0.0303 0.9966 0.0762 +vn -0.0470 0.9972 -0.0574 +vn -0.0355 0.0413 -0.9985 +vn -0.0585 0.9617 0.2678 +vn -0.0126 -0.9972 -0.0738 +vn 0.1226 -0.0790 -0.9893 +vn 0.2116 0.9767 0.0367 +vn -0.7042 0.6033 -0.3743 +vn -0.7302 0.1274 -0.6712 +vn -0.9475 -0.0146 0.3193 +vn -0.9552 0.1086 0.2752 +vn -0.4339 0.8999 -0.0422 +vn -0.3117 -0.1502 -0.9382 +vn 0.8898 0.3072 0.3373 +vn 0.7048 -0.6410 -0.3038 +vn 0.9692 0.1172 0.2165 +vn 0.8977 -0.0129 0.4404 +vn -0.4157 0.9072 0.0643 +vn -0.9439 -0.2023 0.2610 +vn -0.3115 -0.9500 -0.0211 +vn -0.0655 0.0873 -0.9940 +vn 0.9188 0.0155 -0.3944 +vn 0.8971 -0.3628 -0.2520 +vn -0.3376 -0.9285 -0.1544 +vn 0.8716 0.4478 -0.1993 +vn 0.5122 -0.0088 -0.8588 +vn 0.4840 -0.8529 -0.1958 +vn -0.7570 -0.4946 -0.4270 +vn 0.5092 0.8177 -0.2684 +usemtl FISH +s 1 +f 26/1/1 27/2/2 6/3/3 2/4/4 190/5/5 189/6/6 +f 169/7/7 170/8/8 13/9/9 14/10/10 +f 27/2/2 29/11/11 12/12/12 6/3/3 +f 170/8/8 172/13/13 22/14/14 13/9/9 +f 190/5/5 2/4/4 7/15/15 192/16/16 +f 28/17/17 191/18/18 192/16/16 7/15/15 16/19/19 30/20/20 +f 169/7/7 14/10/10 15/21/21 171/22/22 +f 171/22/22 15/21/21 23/23/23 173/24/24 +f 31/25/25 32/26/26 8/27/27 4/28/28 +f 59/29/29 61/30/30 19/31/31 20/32/32 +f 32/26/26 35/33/33 18/34/34 8/27/27 +f 61/30/30 67/35/35 25/36/36 19/31/31 +f 31/25/25 4/28/28 9/37/37 33/38/38 +f 33/38/38 9/37/37 10/39/39 34/40/40 +f 59/29/29 20/32/32 21/41/41 63/42/42 +f 63/42/42 21/41/41 24/43/43 64/44/44 +f 3/45/45 28/17/17 30/20/20 17/46/46 +f 1/47/47 26/1/1 28/17/17 3/45/45 +f 5/48/48 11/49/49 29/11/11 27/2/2 +f 1/47/47 5/48/48 27/2/2 26/1/1 +f 44/50/50 33/38/38 34/40/40 41/51/51 +f 42/52/52 31/25/25 33/38/38 44/50/50 +f 43/53/53 45/54/54 35/33/33 32/26/26 +f 42/52/52 43/53/53 32/26/26 31/25/25 +f 7/15/15 38/55/55 40/56/56 16/19/19 +f 2/4/4 36/57/57 38/55/55 7/15/15 +f 6/3/3 12/12/12 39/58/58 37/59/59 +f 2/4/4 6/3/3 37/59/59 36/57/57 +f 1/47/47 3/45/45 43/53/53 42/52/52 +f 3/45/45 17/46/46 45/54/54 43/53/53 +f 1/47/47 42/52/52 44/50/50 5/48/48 +f 5/48/48 44/50/50 41/51/51 11/49/49 +f 17/60/46 30/61/20 47/62/60 46/63/61 +f 45/64/54 17/65/46 48/66/62 51/67/63 +f 35/68/33 45/64/54 51/67/63 50/69/64 +f 18/70/34 35/68/33 50/69/64 49/71/65 +f 29/72/11 11/73/49 53/74/66 55/75/67 +f 34/76/40 10/77/39 52/78/68 56/79/69 +f 12/80/12 29/72/11 55/75/67 54/81/70 +f 11/73/49 41/82/51 57/83/71 53/74/66 +f 41/82/51 34/76/40 56/79/69 57/83/71 +f 9/37/37 62/84/72 65/85/73 10/39/39 +f 62/84/72 63/42/42 64/44/44 65/85/73 +f 4/28/28 58/86/74 62/84/72 9/37/37 +f 58/86/74 59/29/29 63/42/42 62/84/72 +f 8/27/27 18/34/34 66/87/75 60/88/76 +f 60/88/76 66/87/75 67/35/35 61/30/30 +f 4/28/28 8/27/27 60/88/76 58/86/74 +f 58/86/74 60/88/76 61/30/30 59/29/29 +f 93/89/77 193/90/78 194/91/79 69/92/80 73/93/81 94/94/82 +f 174/95/83 81/96/84 80/97/85 175/98/86 +f 94/94/82 73/93/81 79/99/87 96/100/88 +f 175/98/86 80/97/85 89/101/89 177/102/90 +f 194/91/79 196/103/91 74/104/92 69/92/80 +f 95/105/93 97/106/94 83/107/95 74/104/92 196/103/91 195/108/96 +f 174/95/83 176/109/97 82/110/98 81/96/84 +f 176/109/97 178/111/99 90/112/100 82/110/98 +f 98/113/101 71/114/102 75/115/103 99/116/104 +f 126/117/105 87/118/106 86/119/107 128/120/108 +f 99/116/104 75/115/103 85/121/109 102/122/110 +f 128/120/108 86/119/107 92/123/111 134/124/112 +f 98/113/101 100/125/113 76/126/114 71/114/102 +f 100/125/113 101/127/115 77/128/116 76/126/114 +f 126/117/105 130/129/117 88/130/118 87/118/106 +f 130/129/117 131/131/119 91/132/120 88/130/118 +f 70/133/121 84/134/122 97/106/94 95/105/93 +f 68/135/123 70/133/121 95/105/93 93/89/77 +f 72/136/124 94/94/82 96/100/88 78/137/125 +f 68/135/123 93/89/77 94/94/82 72/136/124 +f 111/138/126 108/139/127 101/127/115 100/125/113 +f 109/140/128 111/138/126 100/125/113 98/113/101 +f 110/141/129 99/116/104 102/122/110 112/142/130 +f 109/140/128 98/113/101 99/116/104 110/141/129 +f 74/104/92 83/107/95 107/143/131 105/144/132 +f 69/92/80 74/104/92 105/144/132 103/145/133 +f 73/93/81 104/146/134 106/147/135 79/99/87 +f 69/92/80 103/145/133 104/146/134 73/93/81 +f 68/135/123 109/140/128 110/141/129 70/133/121 +f 70/133/121 110/141/129 112/142/130 84/134/122 +f 68/135/123 72/136/124 111/138/126 109/140/128 +f 72/136/124 78/137/125 108/139/127 111/138/126 +f 84/148/122 113/149/136 114/150/137 97/151/94 +f 112/152/130 118/153/138 115/154/139 84/155/122 +f 102/156/110 117/157/140 118/153/138 112/152/130 +f 85/158/109 116/159/141 117/157/140 102/156/110 +f 96/160/88 122/161/142 120/162/143 78/163/125 +f 101/164/115 123/165/144 119/166/145 77/167/116 +f 79/168/87 121/169/146 122/161/142 96/160/88 +f 78/163/125 120/162/143 124/170/147 108/171/127 +f 108/171/127 124/170/147 123/165/144 101/164/115 +f 76/126/114 77/128/116 132/172/148 129/173/149 +f 129/173/149 132/172/148 131/131/119 130/129/117 +f 71/114/102 76/126/114 129/173/149 125/174/150 +f 125/174/150 129/173/149 130/129/117 126/117/105 +f 75/115/103 127/175/151 133/176/152 85/121/109 +f 127/175/151 128/120/108 134/124/112 133/176/152 +f 71/114/102 125/174/150 127/175/151 75/115/103 +f 125/174/150 126/117/105 128/120/108 127/175/151 +f 135/177/153 166/178/154 132/172/148 77/128/116 +f 180/179/155 151/180/156 106/147/135 177/102/90 +f 137/181/157 146/182/158 89/101/89 80/97/85 +f 138/183/159 137/181/157 80/97/85 81/96/84 +f 139/184/160 138/183/159 81/96/84 82/110/98 +f 147/185/161 139/184/160 82/110/98 90/112/100 +f 140/186/162 152/187/163 107/143/131 83/188/95 +f 149/189/164 168/190/165 134/124/112 92/123/111 +f 143/191/166 149/189/164 92/123/111 86/119/107 +f 144/192/167 143/191/166 86/119/107 87/118/106 +f 145/193/168 144/192/167 87/118/106 88/130/118 +f 148/194/169 145/193/168 88/130/118 91/132/120 +f 150/195/170 140/196/162 83/197/95 97/198/94 +f 151/180/156 136/199/171 79/99/87 106/147/135 +f 179/200/172 147/185/161 90/112/100 178/111/99 +f 153/201/173 154/202/174 114/203/137 113/204/136 +f 141/205/175 153/206/173 113/149/136 84/148/122 +f 154/207/174 150/208/170 97/151/94 114/150/137 +f 156/209/176 157/210/177 117/157/140 116/159/141 +f 157/210/177 158/211/178 118/153/138 117/157/140 +f 158/211/178 155/212/179 115/154/139 118/153/138 +f 155/212/179 141/213/175 84/155/122 115/154/139 +f 142/214/180 156/209/176 116/159/141 85/158/109 +f 160/215/181 164/216/182 124/170/147 120/162/143 +f 161/217/183 162/218/184 122/161/142 121/169/146 +f 162/218/184 160/215/181 120/162/143 122/161/142 +f 163/219/185 159/220/186 119/166/145 123/165/144 +f 164/216/182 163/219/185 123/165/144 124/170/147 +f 159/220/186 135/221/153 77/167/116 119/166/145 +f 136/222/171 161/217/183 121/169/146 79/168/87 +f 165/223/187 148/194/169 91/132/120 131/131/119 +f 166/178/154 165/223/187 131/131/119 132/172/148 +f 167/224/188 142/225/180 85/121/109 133/176/152 +f 168/190/165 167/224/188 133/176/152 134/124/112 +f 67/35/35 66/87/75 167/224/188 168/190/165 +f 66/87/75 18/34/34 142/225/180 167/224/188 +f 65/85/73 64/44/44 165/223/187 166/178/154 +f 64/44/44 24/43/43 148/194/169 165/223/187 +f 12/80/12 54/81/70 161/217/183 136/222/171 +f 52/226/68 10/39/39 135/177/153 159/227/186 +f 57/83/71 56/79/69 163/219/185 164/216/182 +f 56/79/69 52/78/68 159/220/186 163/219/185 +f 55/75/67 53/74/66 160/215/181 162/218/184 +f 54/81/70 55/75/67 162/218/184 161/217/183 +f 53/74/66 57/83/71 164/216/182 160/215/181 +f 18/34/34 49/228/65 156/229/176 142/225/180 +f 48/66/62 17/65/46 141/213/175 155/212/179 +f 51/230/63 48/231/62 155/232/179 158/233/178 +f 50/234/64 51/230/63 158/233/178 157/235/177 +f 49/228/65 50/234/64 157/235/177 156/229/176 +f 47/62/60 30/61/20 150/208/170 154/207/174 +f 17/60/46 46/63/61 153/206/173 141/205/175 +f 46/63/61 47/62/60 154/207/174 153/206/173 +f 173/24/24 23/23/23 147/185/161 179/200/172 +f 39/58/58 12/12/12 136/199/171 151/180/156 +f 30/236/20 16/237/19 140/196/162 150/195/170 +f 24/43/43 21/41/41 145/193/168 148/194/169 +f 21/41/41 20/32/32 144/192/167 145/193/168 +f 20/32/32 19/31/31 143/191/166 144/192/167 +f 19/31/31 25/36/36 149/189/164 143/191/166 +f 25/36/36 67/35/35 168/190/165 149/189/164 +f 16/238/19 40/56/56 152/187/163 140/186/162 +f 23/23/23 15/21/21 139/184/160 147/185/161 +f 15/21/21 14/10/10 138/183/159 139/184/160 +f 14/10/10 13/9/9 137/181/157 138/183/159 +f 13/9/9 22/14/14 146/182/158 137/181/157 +f 172/13/13 39/58/58 151/180/156 180/179/155 +f 10/39/39 65/85/73 166/178/154 135/177/153 +f 22/14/14 172/13/13 180/179/155 146/182/158 +f 40/56/56 173/24/24 179/200/172 152/187/163 +f 152/187/163 179/200/172 178/111/99 107/143/131 +f 146/182/158 180/179/155 177/102/90 89/101/89 +f 105/144/132 107/143/131 178/111/99 176/109/97 +f 103/145/133 105/144/132 176/109/97 174/95/83 +f 104/146/134 175/98/86 177/102/90 106/147/135 +f 103/145/133 174/95/83 175/98/86 104/146/134 +f 38/55/55 171/22/22 173/24/24 40/56/56 +f 36/57/57 169/7/7 171/22/22 38/55/55 +f 37/59/59 39/58/58 172/13/13 170/8/8 +f 36/57/57 37/59/59 170/8/8 169/7/7 +f 26/1/1 189/6/6 191/18/18 28/17/17 +f 205/239/189 181/240/190 201/241/191 207/242/192 +f 93/89/77 95/105/93 195/108/96 193/90/78 +f 210/243/193 186/244/194 198/245/195 212/246/196 +f 182/247/197 181/248/190 189/249/6 190/250/5 +f 183/251/198 184/252/199 192/253/16 191/254/18 +f 181/248/190 205/255/189 183/251/198 191/254/18 189/249/6 +f 184/252/199 206/256/200 182/247/197 190/250/5 192/253/16 +f 185/257/201 186/258/194 194/259/79 193/260/78 +f 188/261/202 187/262/203 195/263/96 196/264/91 +f 187/262/203 209/265/204 185/257/201 193/260/78 195/263/96 +f 186/258/194 210/266/193 188/261/202 196/264/91 194/259/79 +f 211/267/205 199/268/206 200/269/207 212/246/196 +f 187/270/203 188/271/202 200/269/207 199/268/206 +f 209/272/204 187/270/203 199/268/206 211/267/205 +f 186/244/194 185/273/201 197/274/208 198/245/195 +f 207/242/192 208/275/209 204/276/210 203/277/211 +f 181/240/190 182/278/197 202/279/212 201/241/191 +f 206/280/200 184/281/199 204/282/210 208/283/209 +f 184/281/199 183/284/198 203/277/211 204/276/210 +f 182/278/197 206/280/200 208/283/209 202/285/212 +f 201/241/191 202/279/212 208/275/209 207/242/192 +f 183/284/198 205/239/189 207/242/192 203/277/211 +f 185/273/201 209/272/204 211/267/205 197/274/208 +f 197/274/208 211/267/205 212/246/196 198/245/195 +f 188/271/202 210/243/193 212/246/196 200/269/207 diff --git a/grafika_projekt/src/Engine.cpp b/grafika_projekt/src/Engine.cpp index e5d226e..e019dd8 100644 --- a/grafika_projekt/src/Engine.cpp +++ b/grafika_projekt/src/Engine.cpp @@ -17,20 +17,33 @@ void Core::Engine::initRenderContexts() { loadModelToContext("models/fish.obj", this->fishContext); loadModelToContext("models/submarine.obj", this->submarineContext); loadModelToContext("models/sphere.obj", this->bubbleContext); + loadModelToContext("models/fangtooth.obj", this->fangtoothContext); + loadModelToContext("models/fish2.obj", this->secondFishContext); + loadModelToContext("models/shark.obj", this->sharkContext); this->terrain = Terrain(this->heightGenerator); obj::Model model = this->terrain.generateTerrain(); this->terrainContext.initFromOBJ(model); } -void Core::Engine::loadTextures() { +void Core::Engine::initTextures() { this->fishTexture = LoadTexture("textures/fish.png"); this->submarineTexture = LoadTexture("textures/submarine.png"); this->bubbleTexture = LoadTexture("textures/bubble.png"); this->terrainTexture = LoadTexture("textures/sand2.jpg"); + this->fangtoothTexture = LoadTexture("textures/fangtooth.png"); + this->secondFishTexture = LoadTexture("textures/fish2.png"); + this->sharkTexture = LoadTexture("textures/shark.png"); this->skyboxTexture = loadCubemap(); } +void Core::Engine::initKeyPoints() { + this->fishKeyPointsFirst = parse("keypoints/fishKeyPointsFirst.csv"); + this->fishKeyPointsSecond = parse("keypoints/fishKeyPointsSecond.csv"); + this->fishKeyPointsThird = parse("keypoints/fishKeyPointsThird.csv"); + this->sharkKeyPoints = parse("keypoints/sharkKeyPoints.csv"); +} + void Core::Engine::initCube() { GLuint cubeVAO, cubeVBO; glGenVertexArrays(1, &cubeVAO); @@ -88,6 +101,41 @@ void Core::Engine::initBubbles() { this->generateBubbleArray(); } +std::vector Core::Engine::parse(std::string filename) { + std::ifstream data(filename); + std::string line; + std::vector result; + + while (std::getline(data, line)) + { + std::stringstream lineStream(line); + std::string cell; + glm::vec3 row; + int i = 0; + while (std::getline(lineStream, cell, ',')) + { + switch (i % 3) { + case 0: + row.x = std::stof(cell); + break; + case 1: + row.y = std::stof(cell); + break; + case 2: + row.z = std::stof(cell); + break; + default: + break; + } + i += 1; + + } + result.push_back(row); + } + return result; +} + + const float Core::Engine::cubeVertices[216] = { // positions // normals -0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f, diff --git a/grafika_projekt/src/Engine.h b/grafika_projekt/src/Engine.h index b555dcf..d78f65f 100644 --- a/grafika_projekt/src/Engine.h +++ b/grafika_projekt/src/Engine.h @@ -14,19 +14,22 @@ namespace Core { class Engine { public: + static const float skyboxVerticeParameter; GLuint textureShader, skyboxShader, bubbleShader; - GLuint submarineTexture, bubbleTexture, fishTexture, terrainTexture, skyboxTexture; + GLuint submarineTexture, bubbleTexture, fishTexture, terrainTexture, fangtoothTexture, sharkTexture, secondFishTexture,skyboxTexture; GLuint skyboxVAO; - Core::RenderContext submarineContext, fishContext, bubbleContext, terrainContext; + Core::RenderContext submarineContext, fishContext, fangtoothContext, sharkContext, secondFishContext, bubbleContext, terrainContext; std::vector bubbleArray[300]; + std::vector fishKeyPointsFirst, fishKeyPointsSecond, fishKeyPointsThird, sharkKeyPoints; void initShaderPrograms(); void shutdownShaderPrograms(); void initRenderContexts(); - void loadTextures(); + void initTextures(); void initSkybox(); void initBubbles(); void initRandomGenerator(std::default_random_engine gen, std::uniform_int_distribution<> distr); - static const float skyboxVerticeParameter; + void initKeyPoints(); + private: HeightGenerator heightGenerator; GLuint skyboxVBO; @@ -38,6 +41,7 @@ namespace Core { void initCube(); void generateBubbleArray(); std::vector genBubbleKeyPoints(); + std::vector parse(std::string filename); }; } \ No newline at end of file diff --git a/grafika_projekt/src/main.cpp b/grafika_projekt/src/main.cpp index 37706ec..206cd8f 100644 --- a/grafika_projekt/src/main.cpp +++ b/grafika_projekt/src/main.cpp @@ -32,18 +32,10 @@ glm::vec3 cameraSide; // Wektor "w bok" kamery float cameraAngle = 0; glm::quat rotation = glm::quat(1, 0, 0, 0); +std::vector fishKeyRotationFirst, fishKeyRotationSecond, fishKeyRotationThird, sharkKeyRotation; glm::mat4 cameraMatrix, perspectiveMatrix; -std::vector fishKeyPointsFirst; -std::vector fishKeyRotationFirst; - -std::vector fishKeyPointsSecond; -std::vector fishKeyRotationSecond; - -std::vector fishKeyPointsThird; -std::vector fishKeyRotationThird; - bool isInBoundaries(glm::vec3 nextPosition) { return nextPosition.z > -skyboxBoundary && nextPosition.z < skyboxBoundary&& nextPosition.y > -skyboxBoundary && nextPosition.y < skyboxBoundary&& nextPosition.x < skyboxBoundary&& nextPosition.x > -skyboxBoundary; @@ -213,29 +205,29 @@ void renderScene() glm::vec3 change0 = glm::vec3(0, 0, 0); - for (int j = 0; j < 100; j++) { - Core::drawObjectTexture(engine.bubbleContext, animationMatrix(time + j, change0, engine.bubbleArray[j], glm::vec3(0.04f), 0.2f), engine.bubbleTexture, engine.bubbleShader, lightDir, cameraMatrix, perspectiveMatrix); + for (int j = 0; j < 300; j++) { + Core::drawObjectTexture(engine.bubbleContext, animationMatrix(time + j, change0, engine.bubbleArray[j], fishKeyRotationFirst, glm::vec3(0.04f), 0.2f), engine.bubbleTexture, engine.bubbleShader, lightDir, cameraMatrix, perspectiveMatrix); } for (int i = 0; i < 5; i++) { if (time > -10) { - drawObjectTexture(fishContext, animationMatrix(time + 15, change1, fishKeyPointsFirst, fishKeyRotationFirst, glm::vec3(0.8f), 5.f), textureFish, programTexture); - drawObjectTexture(fishContext, animationMatrix(time + 15, change2, fishKeyPointsFirst, fishKeyRotationFirst, glm::vec3(0.8f), 5.f), textureFish, programTexture); - drawObjectTexture(fishContext, animationMatrix(time + 15, change3, fishKeyPointsFirst, fishKeyRotationFirst, glm::vec3(0.8f), 5.f), textureFish, programTexture); - drawObjectTexture(fishContext, animationMatrix(time + 15, change4, fishKeyPointsFirst, fishKeyRotationFirst, glm::vec3(0.8f), 5.f), textureFish, programTexture); + Core::drawObjectTexture(engine.fishContext, animationMatrix(time + 15, change1, engine.fishKeyPointsFirst, fishKeyRotationFirst, glm::vec3(0.8f), 5.f), engine.fishTexture, engine.textureShader, lightDir, cameraMatrix, perspectiveMatrix); + Core::drawObjectTexture(engine.fishContext, animationMatrix(time + 15, change2, engine.fishKeyPointsFirst, fishKeyRotationFirst, glm::vec3(0.8f), 5.f), engine.fishTexture, engine.textureShader, lightDir, cameraMatrix, perspectiveMatrix); + Core::drawObjectTexture(engine.fishContext, animationMatrix(time + 15, change3, engine.fishKeyPointsFirst, fishKeyRotationFirst, glm::vec3(0.8f), 5.f), engine.fishTexture, engine.textureShader, lightDir, cameraMatrix, perspectiveMatrix); + Core::drawObjectTexture(engine.fishContext, animationMatrix(time + 15, change4, engine.fishKeyPointsFirst, fishKeyRotationFirst, glm::vec3(0.8f), 5.f), engine.fishTexture, engine.textureShader, lightDir, cameraMatrix, perspectiveMatrix); - drawObjectTexture(fangtoothContext, animationMatrix(time + 15, change1, fishKeyPointsSecond, fishKeyRotationSecond, glm::vec3(0.25f), 4.f), textureFangtooth, programTexture); + Core::drawObjectTexture(engine.fangtoothContext, animationMatrix(time + 15, change1, engine.fishKeyPointsSecond, fishKeyRotationSecond, glm::vec3(0.25f), 4.f), engine.fangtoothTexture, engine.textureShader, lightDir, cameraMatrix, perspectiveMatrix); - drawObjectTexture(fishContext, animationMatrix(time + 15, change2, fishKeyPointsThird, fishKeyRotationThird, glm::vec3(0.8f), 1.f), textureSecondFish, programTexture); - drawObjectTexture(fishContext, animationMatrix(time + 15, change0, fishKeyPointsThird, fishKeyRotationThird, glm::vec3(0.8f), 1.f), textureSecondFish, programTexture); - drawObjectTexture(fishContext, animationMatrix(time + 15, change1, fishKeyPointsThird, fishKeyRotationThird, glm::vec3(0.8f), 1.f), textureSecondFish, programTexture); - drawObjectTexture(fishContext, animationMatrix(time + 15, change4, fishKeyPointsThird, fishKeyRotationThird, glm::vec3(0.8f), 1.f), textureSecondFish, programTexture); + Core::drawObjectTexture(engine.secondFishContext, animationMatrix(time + 15, change2, engine.fishKeyPointsThird, fishKeyRotationThird, glm::vec3(0.8f), 1.f), engine.secondFishTexture, engine.textureShader, lightDir, cameraMatrix, perspectiveMatrix); + Core::drawObjectTexture(engine.secondFishContext, animationMatrix(time + 15, change0, engine.fishKeyPointsThird, fishKeyRotationThird, glm::vec3(0.8f), 1.f), engine.secondFishTexture, engine.textureShader, lightDir, cameraMatrix, perspectiveMatrix); + Core::drawObjectTexture(engine.secondFishContext, animationMatrix(time + 15, change1, engine.fishKeyPointsThird, fishKeyRotationThird, glm::vec3(0.8f), 1.f), engine.secondFishTexture, engine.textureShader, lightDir, cameraMatrix, perspectiveMatrix); + Core::drawObjectTexture(engine.secondFishContext, animationMatrix(time + 15, change4, engine.fishKeyPointsThird, fishKeyRotationThird, glm::vec3(0.8f), 1.f), engine.secondFishTexture, engine.textureShader, lightDir, cameraMatrix, perspectiveMatrix); time -= 5; } } if (time > -10) { - drawObjectTexture(sharkContext, animationMatrix(time + 15, change0, sharkKeyPoints, sharkKeyRotation, glm::vec3(10.f), 1.f), textureShark, programTexture); + Core::drawObjectTexture(engine.sharkContext, animationMatrix(time + 15, change0, engine.sharkKeyPoints, sharkKeyRotation, glm::vec3(10.f), 1.f), engine.sharkTexture, engine.textureShader, lightDir, cameraMatrix, perspectiveMatrix); time -= 5; } Core::drawObjectTexture(engine.submarineContext, submarineModelMatrix, engine.submarineTexture, engine.textureShader, lightDir, cameraMatrix, perspectiveMatrix); @@ -267,6 +259,7 @@ void initKeyRotation(std::vector& keyPoints, std::vector& keyRotation.push_back(glm::quat(1, 0, 0, 0)); } + void init() { std::default_random_engine gen(HeightGenerator::SEED); @@ -275,10 +268,16 @@ void init() glEnable(GL_DEPTH_TEST); engine.initShaderPrograms(); engine.initRenderContexts(); - engine.loadTextures(); + engine.initTextures(); engine.initSkybox(); engine.initBubbles(); - initKeyRotation(); + engine.initKeyPoints(); + + initKeyRotation(engine.fishKeyPointsFirst, fishKeyRotationFirst); + initKeyRotation(engine.fishKeyPointsSecond, fishKeyRotationSecond); + initKeyRotation(engine.fishKeyPointsThird, fishKeyRotationThird); + initKeyRotation(engine.sharkKeyPoints, sharkKeyRotation); + } void idle() diff --git a/grafika_projekt/textures/fish2.png b/grafika_projekt/textures/fish2.png new file mode 100644 index 0000000..fc3820c Binary files /dev/null and b/grafika_projekt/textures/fish2.png differ