├── .gitignore ├── Example ├── bin │ └── data │ │ └── lofi-bunny.ply └── src │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── README.md └── src ├── ofxShadowSimple.cpp └── ofxShadowSimple.h /.gitignore: -------------------------------------------------------------------------------- 1 | libs/ 2 | docs/ 3 | 4 | *.depend 5 | *.layout 6 | *.mode*v3 7 | *.pbxuser 8 | *.app* 9 | *.DS_* 10 | ._*.* 11 | 12 | .svn/ 13 | obj/ 14 | bin/ 15 | build/ 16 | !data/ 17 | xcuserdata/ 18 | project.xcworkspace/ 19 | 20 | ipch/ 21 | *.suo 22 | *.opensdf 23 | *.vcxproj.user 24 | 25 | *.obj 26 | *.tlog 27 | *.sdf 28 | *.pdb 29 | *.idb 30 | *.pch 31 | Debug/ 32 | Release/ 33 | 34 | 35 | *~.xml -------------------------------------------------------------------------------- /Example/bin/data/lofi-bunny.ply: -------------------------------------------------------------------------------- 1 | ply 2 | format ascii 1.0 3 | comment VCGLIB generated 4 | element vertex 900 5 | property float x 6 | property float y 7 | property float z 8 | element face 1796 9 | property list uchar int vertex_indices 10 | end_header 11 | -180.372 10.6872 22.2009 12 | -158.228 110.287 78.175 13 | -179.609 -32.7245 59.1515 14 | -177.986 -13.1058 32.7803 15 | 50.978 -187.283 34.5662 16 | 48.7323 -184.846 50.059 17 | 12.4542 49.731 56.489 18 | 25.8953 50.115 1.4369 19 | -46.403 -186.82 68.4315 20 | -177.783 91.128 27.6068 21 | -134.689 177.6 -139.117 22 | -132.396 172.534 -119.735 23 | -117.091 168.898 -134.099 24 | -8.01795 46.4572 23.4644 25 | -71.951 -116.589 99.1885 26 | 56.0835 -184.375 32.8343 27 | -153.68 49.5845 127.938 28 | -113.036 108.235 -40.717 29 | -166.281 23.9181 -0.717035 30 | -152.874 79.534 121.887 31 | -66.7205 -146.717 -24.071 32 | -82.901 79.7245 41.5498 33 | -40.5412 -185.507 109.321 34 | -179.709 65.1975 15.0666 35 | 27.0648 -39.1608 143.162 36 | 151.883 -160.042 -0.294185 37 | 167.412 -155.173 8.2689 38 | -132.053 -96.0705 -16.7977 39 | -182.273 -43.264 46.8257 40 | -123.717 103.586 97.6645 41 | -180.893 -50.1325 32.1942 42 | -137.284 -33.565 105.811 43 | -108.556 -13.2413 107.003 44 | 88.9735 -181.38 18.5117 45 | 63.453 -183.882 15.655 46 | -126.508 -18.565 104.135 47 | -39.2685 111.332 -11.0214 48 | 11.0788 39.8485 78.466 49 | 45.3232 56.295 37.674 50 | 65.2805 -16.7055 119.24 51 | -182.442 65.5825 67.5145 52 | 149.091 -45.0225 -8.76 53 | -113.081 -35.8457 112.929 54 | -33.3585 -176.463 -0.270405 55 | 45.6585 -145.13 130.215 56 | 24.5651 -135.4 136.329 57 | 49.3088 17.9869 102.613 58 | -112.616 -55.024 115.602 59 | -30.1625 31.1303 67.868 60 | -88.6115 -28.7603 111.063 61 | 141.09 -13.6552 2.48665 62 | 133.906 -0.412782 1.62041 63 | -109.52 10.681 94.3075 64 | 77.039 -185.608 62.1665 65 | -84.1865 -73.2985 112.255 66 | 61.37 -2.91158 106.124 67 | -69.6495 111.762 23.4458 68 | -90.017 -12.8659 106.488 69 | -91.048 -58.453 116.786 70 | -70.4805 -53.655 111.873 71 | -78.1295 -42.4002 112.915 72 | -75.0535 -10.6416 105.183 73 | -85.953 -158.158 109.805 74 | 38.1408 -1.96667 111.374 75 | -56.7205 144.583 11.0556 76 | -125.865 137.794 -41.887 77 | -134.277 146.872 -53.101 78 | -138.944 139.762 -52.317 79 | -56.9365 -9.07545 101.306 80 | -135.946 96.599 -63.903 81 | -119.74 93.7905 -44.6678 82 | -67.929 25.97 76.9175 83 | 108.183 -137.051 -48.759 84 | 111.727 -107.738 -49.381 85 | -61.4925 -97.538 106.839 86 | -71.99 -69.8495 110.046 87 | -119.467 -166.227 84.441 88 | -53.316 -43.3278 112.596 89 | -43.0008 -46.897 113.706 90 | -64.727 10.2535 90.969 91 | -49.0485 28.3845 76.789 92 | -62.9295 -29.0735 108.621 93 | -54.781 -85.2485 108.967 94 | -36.8353 -26.546 113.41 95 | 59.564 33.763 90.8875 96 | 37.7197 54.1975 55.8845 97 | 155.848 -42.303 25.4018 98 | -142.936 34.847 136.708 99 | -33.0978 -77.552 107.728 100 | -121.046 119.907 -21.6795 101 | -125.393 115.734 -2.70607 102 | -134.998 89.812 -42.2725 103 | -137.965 153.029 -67.4455 104 | -88.2665 98.4175 46.4562 105 | -108.557 116.997 55.9905 106 | -35.389 -139.279 95.344 107 | 60.8335 -49.9515 -77.4415 108 | -89.842 -156.786 57.4175 109 | -29.726 -6.7153 104.477 110 | 47.3428 -94.1775 143.877 111 | -7.99665 12.5403 97.9715 112 | -20.6611 4.39558 100.405 113 | -16.5005 -139.717 109.315 114 | 89.7065 -179.275 -29.105 115 | 67.322 -186.374 -46.8022 116 | 48.9108 -32.6418 136.645 117 | -117.789 147.904 -99.114 118 | 62.2225 53.976 38.1157 119 | 80.156 -1.30624 -42.8843 120 | -2.41262 -22.7191 112.981 121 | 58.962 -79.0855 142.888 122 | -118.663 -71.1305 108.614 123 | -25.5123 24.2157 80.576 124 | -12.4644 27.634 82.344 125 | -7.41505 -4.62733 107.864 126 | 165.471 -132.449 79.4845 127 | -96.1055 -187.359 58.3975 128 | 71.076 -99.9885 -75.246 129 | 18.0864 -15.2113 112.865 130 | 10.1424 -159.256 126.326 131 | -2.05887 146.266 -29.7855 132 | -6.03075 -32.471 127.615 133 | 57.001 55.898 50.7895 134 | 7.60465 -141.707 129.445 135 | -7.008 -148.128 123.222 136 | 34.423 34.971 91.4305 137 | 13.5595 7.2991 106.103 138 | 7.98155 -110.345 138.609 139 | 27.3715 -112.553 143.833 140 | 22.6083 -91.7885 145.786 141 | 10.8097 -60.6915 145.245 142 | -141.253 105.83 -88.97 143 | -134.074 104.19 -105.414 144 | 44.429 -77.9345 145.939 145 | 132.863 -43.389 97.5285 146 | 193.181 -120.818 28.3145 147 | 184.511 -92.263 28.6518 148 | 55.567 -58.6055 144.139 149 | 159.378 -147.973 77.9145 150 | 158.158 -167.08 22.3629 151 | -138.635 70.2665 118.271 152 | -127.272 33.0925 133.626 153 | -75.0665 -186.812 68.931 154 | -133.609 48.856 131.124 155 | 104.947 -61.8425 122.393 156 | -126.253 3.53295 102.724 157 | -127.507 17.0138 128.762 158 | -120.817 46.297 115.893 159 | -71.664 -186.854 18.3554 160 | -108.366 48.7733 103.387 161 | 137.052 -143.143 82.7075 162 | 77.4605 -51.777 134.415 163 | -24.7124 150.26 -21.3479 164 | -13.2135 129.021 -9.0736 165 | -103.034 34.4325 104.807 166 | 175.652 -144.136 4.46187 167 | -53.8335 -6.6762 -46.0023 168 | -53.4415 116.441 -9.76635 169 | 137.304 -75.8615 91.661 170 | 67.45 17.2155 98.4285 171 | -81.931 23.4975 82.467 172 | -88.732 43.228 90.409 173 | -110.55 69.4825 91.84 174 | 100.223 -118.985 118.353 175 | -88.303 1.2667 98.243 176 | 118.646 12.8183 78.5225 177 | 101.065 33.4637 69.6395 178 | 103.025 17.5648 84.5835 179 | -95.367 59.058 89.6495 180 | -100.629 82.0165 82.015 181 | 12.5708 137.752 -32.7725 182 | -111.94 118.893 -65.1085 183 | 145.783 -36.8382 71.511 184 | 137.663 -18.958 75.962 185 | 134.854 -32.8215 85.926 186 | -184.755 75.8285 54.9375 187 | -91.3735 -123.35 -17.4757 188 | -78.8485 -136.723 -18.1492 189 | 169.074 -158.212 45.88 190 | 119.342 -89.757 107.041 191 | 104.212 -97.395 116.071 192 | 128.934 -1.08675 76.13 193 | 93.9755 -93.7895 127.728 194 | 152.996 -66.5265 1.10031 195 | 181.821 -148.727 27.4757 196 | -115.835 106.334 -54.8765 197 | 158.896 -89.2585 51.4315 198 | -12.2603 167.887 -32.8797 199 | 1.28842 174.378 -45.1225 200 | 191.69 -102.704 46.1955 201 | 101.343 -170.874 97.1375 202 | 123.429 -30.106 101.539 203 | 124.191 -13.3682 90.059 204 | -73.0885 134.697 17.8455 205 | 132.361 -107.28 97.396 206 | -110.254 111.341 6.1866 207 | -25.2213 -176.969 70.7465 208 | 73.1235 -151.928 119.91 209 | -10.0809 -174.017 137.123 210 | 120.3 -60.797 109.868 211 | 89.182 -32.539 121.465 212 | 114.021 -136.406 101.321 213 | 75.095 -117.218 131.604 214 | 56.147 -109.572 143.053 215 | 108.733 -42.3582 116.162 216 | 113.448 2.29511 90.69 217 | -43.8688 131.945 0.388577 218 | 91.7645 -159.885 109.543 219 | 144.539 -104.66 77.5135 220 | 140.976 -93.8925 85.847 221 | 90.161 -72.3805 132.125 222 | 90.0295 -140.215 119.383 223 | 106.449 -79.7465 120.578 224 | 108.925 -18.4372 105.51 225 | -19.4855 181.456 -40.5905 226 | 97.698 11.4815 93.133 227 | -40.373 158.159 -3.38575 228 | -191.798 27.9153 35.2245 229 | -66.3015 -158.064 -34.7147 230 | 107.445 -81.145 -57.6775 231 | -88.0085 -132.805 60.6235 232 | -48.9652 -182.197 -0.91485 233 | -65.137 -188.014 -1.93323 234 | -192.992 28.0327 61.482 235 | -186.646 94.2755 54.378 236 | -182.734 60.663 87.397 237 | 118.85 -126.769 -39.2692 238 | -78.7635 94.3095 25.9447 239 | -103.311 55.4755 -13.2923 240 | -122.29 103.159 -25.1857 241 | 49.5825 -126.435 139.397 242 | -181.507 71.394 34.392 243 | -188.08 53.369 30.081 244 | -193.181 46.7378 55.1065 245 | -179.739 -32.761 31.5245 246 | -173.807 -17.0794 14.4314 247 | -171.941 -3.26255 19.624 248 | -172.859 -2.60022 53.0105 249 | -175.751 -60.505 39.844 250 | -121.007 159.121 -147.723 251 | 141.78 -85.7915 -17.466 252 | 143 -65.509 -21.2883 253 | 143.036 -96.474 -20.0116 254 | 99.5115 -158.379 -42.2505 255 | 83.6895 -172.615 -49.6095 256 | 84.649 -161.105 -50.0795 257 | 46.9105 -183.072 -35.13 258 | 129.279 -104.073 -34.9243 259 | 121.217 -90.0435 -44.8532 260 | 112.498 -143.22 -32.6235 261 | -60.708 -91.716 -41.2895 262 | 98.1705 -182.719 -0.5057 263 | -178.307 78.1925 97.444 264 | 157.372 -66.3165 24.9327 265 | -25.1297 -176.75 14.1693 266 | 153.152 -38.0665 46.576 267 | -114.586 155.1 -124.522 268 | 156.727 -68.7665 47.6025 269 | 151.685 -71.3505 68.615 270 | -93.301 94.235 69.2685 271 | -64.8345 -74.7115 -45.7957 272 | 146.658 -20.9466 50.497 273 | -27.0432 33.944 -15.3811 274 | 171.979 -147.344 65.8585 275 | 186.236 -141.396 49.9383 276 | 188.995 -122.171 47.829 277 | 153.701 -53.239 59.232 278 | -139.856 116.398 13.9562 279 | 125.746 -182.467 33.7347 280 | 137.715 -175.684 36.0192 281 | -164.445 101.741 89.475 282 | -123.519 86.4025 -28.6772 283 | -135.874 112.172 82.776 284 | 175.187 -93.357 46.0575 285 | -153.863 113.47 31.9543 286 | -88.124 -146.948 85.104 287 | -114.988 139.432 -83.2585 288 | -102.217 -180.779 -15.9011 289 | -61.745 55.021 31.2425 290 | -114.339 128.461 -51.6525 291 | -69.248 -187.514 47.046 292 | -103.457 98.273 86.912 293 | -36.9313 38.8345 55.19 294 | -39.931 42.6808 10.1187 295 | -75.953 64.3585 38.7915 296 | -71.956 47.4375 58.995 297 | -56.263 45.5635 46.2575 298 | -9.28725 39.561 63.256 299 | -20.0795 -64.4 136.374 300 | -9.8573 -43.9145 137.02 301 | -136.21 150.195 -94.5565 302 | 30.134 17.9118 103.56 303 | -98.15 116.91 33.2692 304 | -59.065 161.232 -13.2664 305 | 37.2547 -3.7129 -51.461 306 | 47.442 -18.1573 -52.8 307 | -169.661 -70.244 54.962 308 | -130.681 156.861 -100.843 309 | -125.098 160.219 -109.418 310 | -57.929 -127.967 103.837 311 | -48.5778 148.237 -30.6717 312 | 11.4366 25.8442 95.2415 313 | -79.0485 -115.385 -25.4998 314 | -173.369 109.854 58.2995 315 | -60.5095 36.4777 65.1925 316 | 142.227 -6.0358 24.9941 317 | -142.118 117.826 41.3807 318 | -125.43 118.108 60.436 319 | -120.932 117.727 38.3475 320 | -112.993 116.532 21.7768 321 | -123.839 145.24 -64.4935 322 | 127.707 14.8617 19.4086 323 | 129.727 9.76765 60.425 324 | 130.732 11.1681 41.8488 325 | -113.793 114.062 76.883 326 | 118.821 22.2017 55.505 327 | -31.4972 40.443 38.7692 328 | -97.1955 -154.225 71.786 329 | -26.0522 42.0503 22.3461 330 | 37.3895 -22.3389 125.503 331 | -173.022 -62.0845 11.1639 332 | 0.997045 188.794 -58.298 333 | 12.4154 172.505 -55.303 334 | -185.114 27.6775 18.3393 335 | 108.884 33.6188 21.6497 336 | 98.1795 34.273 -1.68499 337 | 13.2292 -26.7162 128.874 338 | -31.641 177.626 -14.9246 339 | -45.1107 169.923 -12.4755 340 | 107.475 34.8568 46.235 341 | 92.712 41.6855 54.426 342 | 80.1885 40.6732 71.2805 343 | -174.031 78.952 18.7033 344 | 93.1685 44.5545 36.1413 345 | 78.1245 51.136 49.6082 346 | -81.039 61.2565 68.2725 347 | -73.58 -149.402 100.365 348 | -102.53 -172.512 118.216 349 | -109.223 -186.029 103.727 350 | -46.1738 -172.987 116.214 351 | -8.81515 -112.947 125.351 352 | -23.426 -162.493 134.145 353 | -34.8312 11.6229 90.241 354 | -68.5195 99.531 -4.94058 355 | -24.8449 -131.482 105.266 356 | -144.303 117.333 -53.8835 357 | -55.6395 125.775 -26.2015 358 | -23.8584 -77.018 123.601 359 | -41.0042 -165.711 124.531 360 | -48.9518 -149.878 103.919 361 | -82.4 -24.6952 -50.139 362 | -122.886 112.192 -112.084 363 | -114.926 131.486 -116.992 364 | -134.255 -65.592 104.712 365 | -141.824 -50.8555 104.34 366 | -14.8781 -86.575 132.301 367 | -3.99717 -98.0535 134.443 368 | -57.299 -163.042 106.881 369 | -125.486 -47.0078 112.707 370 | -134.889 -172.027 7.9355 371 | -132.458 -173.35 26.606 372 | -0.90494 -82.724 142.441 373 | -141.679 99.178 104.747 374 | -161.615 92.951 103.879 375 | -11.6755 -177.033 31.8605 376 | -26.299 -181.429 31.2555 377 | -17.4929 -98.601 119.896 378 | -119.938 -179.605 44.3027 379 | -114.964 -167.23 105.963 380 | -19.6628 -39.3247 121.999 381 | -172.015 -40.2967 73.348 382 | -103.785 -153.112 97.1 383 | -156.63 -40.5788 90.6455 384 | -163.163 -58.2725 82.1035 385 | -137.009 -12.8533 -28.1507 386 | -179.234 61.8165 108.713 387 | -177.245 -50.126 61.765 388 | -168.124 -36.659 74.892 389 | -28.957 -56.6115 118.823 390 | -29.213 -149.795 115.962 391 | -108.977 -30.6435 -44.5143 392 | -167.793 62.67 125.07 393 | -62.655 -19.6735 -50.2345 394 | -187.478 45.195 94.8485 395 | -105.526 -152.798 19.3974 396 | -22.782 -84.1785 -81.989 397 | -178.335 91.5455 82.705 398 | -166.969 79.439 113.147 399 | 2.35162 -124.392 133.055 400 | -25.8078 -182.174 42.223 401 | -35.9065 -186.025 56.434 402 | -42.7865 -187.885 36.5095 403 | -148.161 -64.6065 95.8815 404 | -84.809 122.473 26.1868 405 | -82.225 141.682 5.77775 406 | -40.6512 -79.591 -64.829 407 | -125.999 105.662 -96.5645 408 | -123.747 143.506 -142.423 409 | -130.463 141.844 -127.183 410 | -133.096 156.53 -131.719 411 | -150.622 124.402 -30.9517 412 | -152.332 161.583 -104.691 413 | -154.576 152.465 -89.947 414 | -189.184 51.908 70.0975 415 | -189.583 31.0613 82.0685 416 | -137.695 119.745 -94.049 417 | -140.714 135.546 -94.171 418 | 0.886825 21.2346 -32.4712 419 | 20.8174 23.4459 -32.8435 420 | -145.241 130.274 -75.4225 421 | -142.642 112.29 -70.6365 422 | -35.8665 -85.0185 -75.6165 423 | -42.2545 -42.5815 -65.3425 424 | -30.7973 -138.137 -52.1035 425 | -53.271 -155.49 -47.359 426 | -31.0725 -116.979 -60.3215 427 | -33.3773 -100.964 -67.3035 428 | -49.5243 -62.433 -53.43 429 | -63.939 -42.0353 -53.161 430 | -60.919 -171.868 -40.974 431 | -115.458 84.413 -14.4104 432 | -3.6034 146.555 -46.3058 433 | -38.917 -136.331 -28.12 434 | -38.1927 -121.267 -37.845 435 | -39.9055 -102.074 -46.658 436 | -18.3338 182.559 -23.4869 437 | 115.742 -8.2521 -29.109 438 | -79.0615 -188.528 -21.4681 439 | -28.6725 168.155 -39.8628 440 | -42.6107 -18.572 -52.33 441 | -117.131 -69.2785 -41.8008 442 | -145.039 109.745 -37.6927 443 | 58.992 -30.0405 -63.257 444 | -163.659 -61.617 -9.4814 445 | 18.2358 -31.92 -76.4245 446 | -4.8753 -32.8558 -71.9795 447 | -162.113 -40.5585 -11.3807 448 | -109.376 -161.631 -7.5633 449 | -149.869 -96.993 11.7265 450 | -143.008 120.243 -4.68752 451 | -149.551 104.621 -4.22687 452 | 73.546 -17.5597 -51.3985 453 | -39.609 -152.769 -54.107 454 | -25.7467 -161.433 -67.909 455 | -148.209 -86.298 -11.7947 456 | -162.548 -79.523 5.1656 457 | -93.798 130.197 16.0409 458 | -168.297 92.271 14.6979 459 | -156.085 88.9775 -3.7867 460 | -163.264 109.357 17.6441 461 | -165.822 -20.3571 -6.3625 462 | -33.7 -31.6938 -64.229 463 | -165.89 6.5979 6.45815 464 | -176.861 51.549 6.4207 465 | 31.5 -24.2148 -61.0855 466 | 75.4365 -51.76 -67.8715 467 | 90.766 -57.547 -64.269 468 | 97.3395 -38.0575 -52.609 469 | 85.6145 46.2082 17.0795 470 | 138.947 -117.88 -18.6658 471 | -69.0605 -185.896 87.5815 472 | 125.809 -22.3021 -27.2938 473 | 136.19 -35.313 -22.521 474 | -128.174 -81.9405 -35.7537 475 | 121.149 -173.346 -1.36329 476 | 139.339 -175.805 17.2772 477 | -48.638 -186.771 48.1317 478 | 129.618 -45.0547 -37.2573 479 | -7.8234 168.731 -53.9745 480 | 156.682 -91.2495 11.5674 481 | 184.26 -124.849 12.4819 482 | 74.1205 44.1335 -3.481 483 | 136.197 -17.3872 -16.553 484 | -117.104 -157.997 6.238 485 | 64.0665 35.3255 -23.1598 486 | -93.669 115.028 -3.13425 487 | -81.2295 91.099 4.94193 488 | -97.024 94.8345 -0.57629 489 | -5.3517 129.305 -28.5505 490 | 111.253 -55.3565 -51.733 491 | 79.7045 18.521 -33.343 492 | 26.3305 -45.9642 -86.449 493 | -102.276 37.1883 -16.0278 494 | -97.0595 77.518 -4.47753 495 | -18.1315 -28.9123 -58.5115 496 | -27.6122 -14.7654 -55.1525 497 | -84.775 44.0588 -10.887 498 | -87.404 27.4538 -26.8398 499 | -93.5205 64.8075 -1.3912 500 | -70.4285 59.2385 2.5896 501 | -99.853 14.2976 -34.0163 502 | 44.9845 -38.4308 -78.032 503 | -68.5875 31.2272 -26.889 504 | 10.6439 34.6268 -17.3526 505 | -50.7755 -185.978 -40.1188 506 | -57.161 44.3662 -5.29545 507 | 49.7875 47.512 -4.7941 508 | -66.617 60.859 16.6835 509 | -8.99705 -187.863 -53.452 510 | 39.9852 15.6898 -41.9642 511 | 84.8735 32.0795 -16.7703 512 | -51.6805 -163.148 -62.8945 513 | 130.008 -3.8051 -13.5971 514 | -32.9425 -2.7294 -46.6435 515 | 181.971 -106.09 8.62875 516 | -8.4362 36.7137 -10.6091 517 | 159.421 -117.021 -4.8849 518 | -39.541 19.1327 -31.2757 519 | -21.2768 23.4963 -27.3873 520 | -155.038 14.8727 -7.2296 521 | -167.762 40.3345 -6.488 522 | -79.3295 -160.653 -22.0669 523 | -100.386 -168.027 -17.8664 524 | -69.3865 114.427 -16.0014 525 | 147.192 -137.578 -12.2872 526 | 161.664 -146.413 -6.9949 527 | -150.832 -66.505 -24.2489 528 | -129.08 -54.9255 -39.0137 529 | 175.336 -128.91 -3.34862 530 | -127.114 37.329 -19.0773 531 | -12.4256 -176.202 -7.7208 532 | 134.941 -162.66 2.0793 533 | 130.542 -149.508 -13.1179 534 | -132.544 -105.675 -1.74571 535 | -51.945 -184.749 -71.9195 536 | -131.887 58.7705 -17.9408 537 | 134.744 -133.703 -15.8933 538 | -115.973 -3.7217 -36.1857 539 | -115.148 19.1551 -23.9629 540 | -143.938 -0.538075 -18.0213 541 | -154.039 -16.2456 -18.1968 542 | -142.327 27.1165 -16.302 543 | -73.724 -56.4325 -50.9065 544 | -154.715 -32.6908 -22.6161 545 | -62.758 139.69 -23.7748 546 | -75.3145 148.766 -6.67155 547 | -93.3825 -102.288 -28.4525 548 | -64.4055 -58.3785 -49.476 549 | -71.0445 -6.4988 -46.7645 550 | -63.9225 -130.514 -25.9085 551 | -106.103 -57.6365 -47.6872 552 | 120.045 -74.3115 -45.4195 553 | 129.008 -61.92 -42.0325 554 | 106.154 -159.673 -25.9718 555 | -177.292 33.3457 3.31783 556 | -112.632 -93.5455 -30.4753 557 | -84.093 126.903 -9.0451 558 | -85.864 -46.0008 -50.7575 559 | 98.025 -169.888 -17.9487 560 | 99.0335 -99.1815 -62.5575 561 | -23.2177 -175.81 -27.7095 562 | 83.623 -84.019 -69.7775 563 | -7.8035 -175.542 -31.275 564 | -94.9335 -146.974 -8.6706 565 | -80.0025 12.0792 -37.8903 566 | -87.003 -67.3315 -48.4798 567 | -145.334 46.2183 -15.3235 568 | -60.2805 -186.465 -53.2945 569 | 90.2085 -126.525 -64.034 570 | 86.0215 -108.032 -68.798 571 | 99.6805 -115.493 -59.2805 572 | -92.854 -7.6995 -42.5978 573 | -79.686 -87.0565 -39.0607 574 | 84.2085 -146.386 -59.7805 575 | 59.266 -80.0055 -82.247 576 | -55.5605 12.6098 -38.2175 577 | 59.9695 3.12915 -46.3278 578 | 55.7025 -104.086 -79.324 579 | 61.707 -149.434 -67.274 580 | 74.2865 -64.496 -73.1035 581 | -66.362 -179.167 -60.637 582 | 52.9655 -178.06 -57.077 583 | 50.1695 -136.208 -74.118 584 | 42.993 -59.8505 -85.159 585 | -168.975 70.5235 4.9862 586 | 44.1185 -118.413 -79.9695 587 | 26.189 -67.6445 -89.666 588 | 37.289 -78.4425 -87.1815 589 | 40.768 -152.132 -69.9205 590 | -95.7285 101.207 5.5501 591 | 17.7728 -86.5315 -90.8025 592 | 38.602 -96.693 -84.177 593 | -119.256 -105.65 -15.8064 594 | -22.9823 -181.651 -69.3915 595 | -131.145 13.664 -19.7145 596 | 34.79 -175.15 74.678 597 | 97.718 -182.339 44.122 598 | -110.811 -180.754 83.1405 599 | -60.1695 -185.105 99.7925 600 | -75.287 -184.686 109.829 601 | 4.0385 -119.655 -87.2 602 | 0.78323 -110.657 -83.815 603 | -155.068 67.129 -8.71205 604 | -153.612 -47.9098 -24.4881 605 | -107.282 -85.0525 -41.0545 606 | 2.8044 -100.691 -88.2015 607 | -1.85019 -158.668 -67.413 608 | -1.69998 -150.154 -71.009 609 | -15.8882 -130.532 -74.122 610 | 8.69165 156.838 -51.4735 611 | 24.0961 -179.883 -35.8418 612 | 5.0556 -67.1635 -94.615 613 | -6.13025 -83.4925 -94.189 614 | -15.2755 -66.786 -85.305 615 | -3.22682 -177.582 -65.9095 616 | -1.63786 -43.5257 -87.2175 617 | -44.7137 -82.256 -50.044 618 | 82.618 -185.767 -9.11955 619 | 66.8395 -186.367 9.29885 620 | -14.9017 154.813 -46.3563 621 | -3.46235 -184.755 126.963 622 | -35.0855 -182.913 125.487 623 | 15.2099 -183.949 125.408 624 | -112.347 -175.483 62.5245 625 | -84.616 -105.289 95.28 626 | 77.156 -179.38 -35.078 627 | 133.087 -165.451 74.796 628 | 57.416 -185.577 99.888 629 | -101.998 -188.796 0.405288 630 | 72.435 -184.855 109.092 631 | 36.0288 -178.854 28.458 632 | -129.045 99.1815 -81.019 633 | 0.08475 -176.387 15.3328 634 | 23.0989 -173.493 97.802 635 | 11.4929 -175.714 -1.06314 636 | -143.145 83.0485 -15.9667 637 | 48.2925 -176.827 119.29 638 | 63.3035 -170.322 116.541 639 | 56.9565 -180.303 -8.14665 640 | 81.8265 -185.063 79.632 641 | 36.7783 -187.088 -52.9355 642 | 29.19 -174.294 90.785 643 | 98.282 -184.911 25.936 644 | 34.2887 -174.526 -12.7124 645 | 112.08 -183.23 52.3995 646 | 122.186 -174.581 63.4095 647 | -3.64602 -176.721 57.9155 648 | -183.939 38.4015 115.358 649 | -173.622 8.21975 109.537 650 | -154.206 -0.075493 96.063 651 | -168.656 4.9066 87.6825 652 | 150.503 -170.809 40.576 653 | -3.74855 -175.325 84.928 654 | -159.762 -83.145 62.6645 655 | -163.247 -71.631 77.03 656 | -15.2473 -185.127 113.303 657 | -163.098 19.1319 124.282 658 | -145.4 -105.001 34.5245 659 | -146.619 -13.464 93.941 660 | -145.988 2.8252 112.317 661 | -145.583 11.1395 126.95 662 | 52.763 -185.665 108.003 663 | -132.793 -114.372 30.603 664 | 9.8346 -175.32 -17.3591 665 | -118.645 -122.587 23.3494 666 | 124.252 -181.43 16.2806 667 | -150.406 -79.1005 85.2005 668 | -128.003 -118.301 48.9647 669 | -142.37 -107.908 48.0067 670 | -136.203 -111.533 17.2748 671 | -164.212 -83.8275 33.8553 672 | -149.98 -97.919 55.0355 673 | -130.102 -188.053 14.2797 674 | -106.103 -188.355 20.07 675 | -133.635 -108.727 61.856 676 | -138.863 -98.135 77.2955 677 | -120.162 -109.853 75.575 678 | -121.31 -100.46 88.7725 679 | -132.607 -84.516 97 680 | 134.998 -175.695 53.299 681 | 34.1405 -176.184 48.3462 682 | 7.8273 -186.545 -56.687 683 | -106.109 -187.622 48.9065 684 | 49.771 -184.485 13.4373 685 | -122.407 -178.932 99.392 686 | -26.0228 -175.867 85.3125 687 | -112.349 -187.943 33.4613 688 | -103.529 -108.194 86.6655 689 | -105.888 -93.0285 101.939 690 | -90.5025 -187.908 16.0711 691 | 155.32 -160.721 67.162 692 | -87.488 -117.426 82.269 693 | -13.4911 -177.115 54.718 694 | -114.413 -128.796 30.976 695 | -61.7 -187.072 -6.61415 696 | -78.232 -188.212 0.611385 697 | -53.5565 -180.027 -22.9642 698 | -68.545 -188.175 -34.6328 699 | -102.996 -117.581 71.149 700 | -117.112 -116.214 63.065 701 | -85.0965 -185.85 96.831 702 | 70.6235 -186.15 -20.5462 703 | 14.1635 -176.354 37.599 704 | 24.5396 -175.803 14.2752 705 | 54.435 -179.542 67.5295 706 | -32.6275 -176.092 -18.1882 707 | -39.9865 -176.053 -33.1567 708 | -57.0835 -188.113 22.4505 709 | -32.908 -183.759 -45.598 710 | -49.9422 -186.7 29.3945 711 | -124.179 -115.536 9.9085 712 | -108.062 -121.018 0.399512 713 | -34.1338 -176.948 12.498 714 | -150.238 -89.1215 69.5525 715 | -21.5566 -174.789 98.709 716 | 4.74075 -179.14 105.486 717 | 30.6595 -185.517 110.049 718 | 54.1105 -185.003 96.459 719 | 56.932 -174.064 83.8865 720 | 28.9317 -184.77 104.533 721 | -94.429 -128.398 52.2635 722 | -102.196 -124.454 57.418 723 | -84.0305 -139.852 49.788 724 | -99.6665 -129.107 37.5597 725 | -158.66 9.5367 110.187 726 | -89.135 -188.4 60.8465 727 | 108.7 -176.126 73.905 728 | -93.9295 -187.931 59.478 729 | -96.102 -188.428 37.2448 730 | 93.385 -184.947 63.7775 731 | 72.034 -184.451 37.1915 732 | 89.348 -183.876 16.2101 733 | -96.143 -186.303 79.5785 734 | -96.1365 -186.289 79.5845 735 | -190.137 24.8944 103.946 736 | -42.4905 -187.721 20.5335 737 | 3.5902 46.2147 7.1141 738 | 33.644 53.2085 21.4895 739 | -68.201 50.3625 12.2677 740 | -148.514 114.117 61.7145 741 | -178.22 13.691 96.483 742 | 41.1478 52.2915 8.13505 743 | -51.2735 107.109 6.6348 744 | -3.20147 45.9055 24.4886 745 | -9.9852 45.5995 41.8695 746 | -78.4315 -125.485 93.0455 747 | -67.6115 -108.058 105.785 748 | -164.479 35.4227 127.858 749 | -179.124 17.9904 84.888 750 | 41.8115 -48.4548 143.63 751 | 34.091 -63.0895 146.853 752 | 84.6505 -173.93 112.394 753 | 85.4335 -179.298 99.774 754 | 34.3978 47.4188 73.287 755 | 46.859 42.305 81.897 756 | 34.2325 -160.733 120.251 757 | 62.317 -154.242 125.62 758 | 63.583 -44.1097 136.29 759 | -45.0243 -185.469 89.677 760 | 61.298 -138.186 134.693 761 | 45.901 -137.52 135.057 762 | 68.701 -35.6898 129.671 763 | 94.3855 -52.9505 125.426 764 | -98.2115 -73.938 110.372 765 | -27.0745 126.691 3.9001 766 | 15.0282 50.3525 21.7248 767 | 7.0085 49.5537 36.7873 768 | 25.05 53.9995 39.3805 769 | 16.5662 -175.874 66.942 770 | -77.309 -88.16 107.715 771 | 83.078 -1.69694 102.383 772 | 104.771 -0.474613 98.6385 773 | 92.5905 -13.8174 112.928 774 | -109.355 106.175 64.857 775 | 83.214 8.8207 99.0315 776 | -152.018 141.739 -62.7375 777 | -151.354 133.092 -46.8882 778 | -52.9195 -61.4315 112.305 779 | 153.203 -50.5345 8.991 780 | -31.7812 -103.537 112.783 781 | 149.37 -30.8835 3.07917 782 | -145.29 18.0567 126.523 783 | -39.5858 -93.037 106.696 784 | -25.8403 -109.149 108.801 785 | -21.9998 140.88 -38.724 786 | -46.0682 -108.47 105.655 787 | 160.818 -116.073 78.4445 788 | 148.07 -87.802 75.054 789 | -138.765 151.26 -115.585 790 | -150.032 170.602 -119.425 791 | 59.0395 54.6835 17.6924 792 | 76.007 52.3205 31.893 793 | -19.4914 -17.1422 111.091 794 | -19.8862 -26.4842 114.29 795 | 71.2185 -71.312 137.891 796 | -20.8638 -74.9555 -85.0905 797 | 8.60135 -41.5428 140.091 798 | 178.74 -136.515 10.4617 799 | 73.231 -92.388 137.786 800 | -7.57745 -160.894 130.413 801 | -124.385 60.986 114.645 802 | -140.993 66.463 127.959 803 | 121.04 -47.6152 -42.7223 804 | 114.557 -27.9665 -40.3755 805 | -18.7381 -58.778 -90.4065 806 | -115.233 27.5103 116.193 807 | -34.292 141.106 -10.4748 808 | -117.137 86.5475 94.754 809 | -127.455 90.5525 108.664 810 | 83.295 26.5578 89.72 811 | 33.1982 -183.312 122.058 812 | -87.174 77.7625 68.7695 813 | 78.9165 -34.0617 -59.6 814 | 145.794 -56.126 78.5265 815 | 127.424 -126.131 95.814 816 | 117.284 -117.495 106.816 817 | 141 -121.526 79.983 818 | 134.699 -125.213 90.063 819 | -76.518 44.93 74.1745 820 | 105.623 -105.652 117.276 821 | 155.327 -53.948 40.131 822 | 170.668 -105.974 68.4725 823 | 183.223 -123.605 66.4425 824 | 159.87 -102.667 64.9475 825 | 121.4 -153.639 88.5815 826 | 105.938 -154.962 100.057 827 | 117.212 -168.169 85.9625 828 | 149.697 -27.751 29.0685 829 | -116.155 120.032 -95.1255 830 | -11.2369 7.92895 -43.8125 831 | -4.81143 29.8468 -22.2936 832 | -61.297 126.251 11.3713 833 | -56.767 121.842 11.9354 834 | -180.135 5.0109 39.449 835 | -187.056 17.4566 50.6845 836 | -178.492 12.16 66.097 837 | 139.923 -47.391 -22.8801 838 | 127.626 -134.486 -24.3834 839 | -83.7665 74.1465 10.5087 840 | -186.37 61.653 43.7158 841 | -16.8278 -111.339 -81.268 842 | 132.725 -82.8295 -31.805 843 | 150.84 -88.758 -3.1146 844 | 144.893 -103.323 -10.8969 845 | 69.7845 -163.812 -57.923 846 | -64.822 -106.702 -33.8833 847 | 138.013 -4.23443 54.25 848 | 158.128 -77.7665 38.1878 849 | 167.828 -89.7635 27.8768 850 | -45.6533 31.182 -20.142 851 | -26.8528 37.675 0.408022 852 | -174.427 103.281 39.0125 853 | -150.111 106.073 88.9195 854 | 180.486 -95.896 58.509 855 | -168.348 109.619 37.9622 856 | -158.064 113.436 46.2713 857 | -144.9 166.795 -102.781 858 | -134.805 145.951 -86.6085 859 | -125.349 -173.034 -10.3116 860 | -49.5067 47.5858 22.8837 861 | -80.1975 49.918 -9.2909 862 | -40.108 162.959 -22.77 863 | 119.479 24.414 36.1408 864 | 95.278 -16.0303 -45.2573 865 | 57.016 49.4668 68.546 866 | 18.3889 -109.966 -86.359 867 | 29.7237 -134.688 -78.549 868 | 10.3581 -134.208 -81.6675 869 | -34.1852 -119.723 97.6755 870 | -11.9837 -126.961 117.046 871 | -4.6905 -63.415 140.997 872 | -37.7082 127.384 -30.0012 873 | -32.3662 127.056 -13.0274 874 | -112.881 98.6155 -6.1138 875 | 10.8595 -166.222 -62.9645 876 | -123.018 -20.0865 -36.582 877 | -134.404 -33.0075 -35.1302 878 | -167.437 -10.7701 71.422 879 | -160.038 -25.3123 83.027 880 | -24.7801 -44.8088 -76.1215 881 | -112.902 -164.09 36.4258 882 | -93.9085 -147.56 32.5775 883 | -35.5942 -66.393 -75.993 884 | 34.9318 -169.995 -60.2955 885 | 21.9564 -151.708 -70.76 886 | -52.458 -87.9755 -46.299 887 | -135.186 126.693 -107.837 888 | -122.896 126.849 -137.958 889 | -49.7668 -54.221 -64.586 890 | 108.061 5.5453 -24.7535 891 | 38.036 34.1808 -24.285 892 | 55.794 21.8249 -38.6455 893 | -173.38 -40.6922 7.4079 894 | 3.9976 -22.2449 -56.6855 895 | -96.088 -131.34 -2.23574 896 | -100.774 -139.326 12.985 897 | -147.829 107.965 -22.7384 898 | -159.648 -3.87055 -6.0476 899 | 67.6875 -124.159 -72.0425 900 | 52.3505 -166.93 -59.1055 901 | -38.863 -173.126 -69.9255 902 | 97.313 3.15328 -32.9555 903 | 100.971 17.7663 -20.1605 904 | 21.4802 -14.3699 -54.88 905 | 13.8547 -7.92425 -52.819 906 | -8.42075 -7.86475 -52.3115 907 | 13.5006 7.85105 -45.565 908 | 114.648 5.23585 -17.5231 909 | 118.345 17.8209 -2.48482 910 | -33.398 10.2658 -41.0175 911 | 3 3 237 823 912 | 3 823 0 3 913 | 3 7 755 727 914 | 3 734 282 287 915 | 3 2 867 237 916 | 3 863 90 195 917 | 3 397 239 256 918 | 3 1 272 729 919 | 3 37 287 113 920 | 3 234 2 3 921 | 3 4 15 5 922 | 3 85 6 743 923 | 3 283 318 840 924 | 3 7 727 731 925 | 3 196 8 390 926 | 3 743 6 37 927 | 3 92 310 276 928 | 3 346 36 157 929 | 3 332 9 447 930 | 3 10 11 12 931 | 3 726 13 733 932 | 3 11 256 12 933 | 3 309 267 308 934 | 3 0 823 217 935 | 3 614 735 14 936 | 3 791 381 16 937 | 3 5 15 720 938 | 3 16 87 791 939 | 3 65 89 17 940 | 3 107 122 334 941 | 3 510 509 18 942 | 3 381 791 19 943 | 3 20 539 422 944 | 3 414 20 422 945 | 3 21 828 227 946 | 3 122 38 85 947 | 3 300 534 293 948 | 3 357 22 339 949 | 3 19 798 362 950 | 3 232 23 453 951 | 3 35 145 648 952 | 3 141 87 146 953 | 3 24 130 740 954 | 3 25 515 26 955 | 3 141 143 87 956 | 3 50 51 305 957 | 3 463 27 444 958 | 3 354 358 31 959 | 3 745 627 746 960 | 3 30 28 234 961 | 3 739 105 24 962 | 3 352 877 397 963 | 3 362 798 29 964 | 3 25 26 139 965 | 3 660 238 320 966 | 3 238 30 320 967 | 3 122 85 854 968 | 3 358 42 31 969 | 3 32 145 35 970 | 3 62 275 371 971 | 3 33 720 34 972 | 3 35 42 32 973 | 3 25 139 465 974 | 3 346 861 36 975 | 3 6 287 37 976 | 3 757 85 38 977 | 3 183 253 469 978 | 3 105 751 39 979 | 3 151 751 747 980 | 3 40 175 233 981 | 3 734 287 6 982 | 3 444 27 523 983 | 3 41 462 770 984 | 3 0 217 323 985 | 3 42 358 47 986 | 3 747 137 151 987 | 3 254 702 43 988 | 3 840 13 726 989 | 3 589 460 588 990 | 3 300 428 774 991 | 3 44 45 745 992 | 3 539 302 835 993 | 3 200 151 752 994 | 3 58 42 47 995 | 3 46 84 125 996 | 3 58 47 753 997 | 3 478 153 862 998 | 3 734 6 756 999 | 3 287 282 48 1000 | 3 90 439 267 1001 | 3 282 80 48 1002 | 3 5 720 53 1003 | 3 203 788 99 1004 | 3 49 42 58 1005 | 3 764 799 159 1006 | 3 50 472 51 1007 | 3 42 49 32 1008 | 3 164 52 32 1009 | 3 53 720 586 1010 | 3 806 776 208 1011 | 3 589 62 337 1012 | 3 58 753 54 1013 | 3 60 49 58 1014 | 3 291 125 301 1015 | 3 55 39 760 1016 | 3 259 94 763 1017 | 3 732 56 343 1018 | 3 32 49 57 1019 | 3 393 446 292 1020 | 3 58 54 75 1021 | 3 57 164 32 1022 | 3 750 230 45 1023 | 3 63 55 46 1024 | 3 336 275 62 1025 | 3 484 429 485 1026 | 3 58 59 60 1027 | 3 60 81 49 1028 | 3 81 61 49 1029 | 3 835 302 536 1030 | 3 888 117 559 1031 | 3 589 357 62 1032 | 3 799 764 215 1033 | 3 63 46 291 1034 | 3 64 394 193 1035 | 3 62 357 336 1036 | 3 59 81 60 1037 | 3 79 164 61 1038 | 3 831 541 542 1039 | 3 164 79 160 1040 | 3 65 66 67 1041 | 3 65 67 766 1042 | 3 81 68 61 1043 | 3 61 68 79 1044 | 3 91 69 70 1045 | 3 349 299 336 1046 | 3 736 299 775 1047 | 3 79 71 160 1048 | 3 72 73 226 1049 | 3 349 336 357 1050 | 3 74 82 759 1051 | 3 75 767 59 1052 | 3 83 81 77 1053 | 3 76 368 371 1054 | 3 75 82 767 1055 | 3 39 55 63 1056 | 3 613 97 870 1057 | 3 83 77 78 1058 | 3 71 79 80 1059 | 3 55 764 159 1060 | 3 83 68 81 1061 | 3 68 342 79 1062 | 3 88 767 82 1063 | 3 83 98 68 1064 | 3 342 80 79 1065 | 3 41 770 768 1066 | 3 46 159 84 1067 | 3 64 216 293 1068 | 3 757 6 85 1069 | 3 88 82 772 1070 | 3 255 86 817 1071 | 3 146 87 771 1072 | 3 756 755 733 1073 | 3 95 299 349 1074 | 3 378 767 88 1075 | 3 98 342 68 1076 | 3 89 439 90 1077 | 3 271 91 70 1078 | 3 772 366 88 1079 | 3 80 342 48 1080 | 3 92 765 66 1081 | 3 93 292 94 1082 | 3 95 858 299 1083 | 3 858 775 299 1084 | 3 78 378 83 1085 | 3 740 133 137 1086 | 3 432 802 96 1087 | 3 175 9 231 1088 | 3 310 92 66 1089 | 3 317 97 613 1090 | 3 366 769 773 1091 | 3 744 125 84 1092 | 3 114 98 782 1093 | 3 99 788 110 1094 | 3 100 342 101 1095 | 3 124 379 341 1096 | 3 124 102 379 1097 | 3 475 343 476 1098 | 3 186 777 813 1099 | 3 559 117 551 1100 | 3 101 114 100 1101 | 3 103 615 244 1102 | 3 438 660 445 1103 | 3 244 615 104 1104 | 3 327 152 425 1105 | 3 105 319 24 1106 | 3 106 352 256 1107 | 3 744 743 125 1108 | 3 107 781 780 1109 | 3 115 806 150 1110 | 3 402 846 401 1111 | 3 566 108 441 1112 | 3 782 109 114 1113 | 3 203 128 230 1114 | 3 128 203 99 1115 | 3 534 513 546 1116 | 3 137 133 110 1117 | 3 282 734 316 1118 | 3 861 300 774 1119 | 3 761 764 760 1120 | 3 321 214 188 1121 | 3 861 774 478 1122 | 3 111 353 668 1123 | 3 112 113 48 1124 | 3 217 232 323 1125 | 3 100 301 113 1126 | 3 280 148 699 1127 | 3 126 100 114 1128 | 3 776 806 115 1129 | 3 854 744 84 1130 | 3 116 715 718 1131 | 3 888 567 117 1132 | 3 109 118 114 1133 | 3 118 126 114 1134 | 3 124 119 123 1135 | 3 478 170 120 1136 | 3 786 121 289 1137 | 3 334 122 854 1138 | 3 123 388 124 1139 | 3 37 301 125 1140 | 3 184 155 787 1141 | 3 127 129 361 1142 | 3 301 100 126 1143 | 3 45 128 127 1144 | 3 291 301 126 1145 | 3 129 99 133 1146 | 3 127 128 129 1147 | 3 361 129 130 1148 | 3 612 745 119 1149 | 3 119 745 45 1150 | 3 63 291 126 1151 | 3 131 132 621 1152 | 3 472 50 770 1153 | 3 63 126 118 1154 | 3 230 128 45 1155 | 3 128 99 129 1156 | 3 740 129 133 1157 | 3 498 671 552 1158 | 3 199 134 191 1159 | 3 741 207 627 1160 | 3 812 776 115 1161 | 3 211 749 197 1162 | 3 135 504 136 1163 | 3 137 110 784 1164 | 3 680 138 150 1165 | 3 472 502 51 1166 | 3 119 124 789 1167 | 3 55 159 46 1168 | 3 105 39 319 1169 | 3 791 87 143 1170 | 3 641 139 178 1171 | 3 143 790 791 1172 | 3 19 791 140 1173 | 3 795 141 146 1174 | 3 812 115 263 1175 | 3 141 795 143 1176 | 3 542 479 792 1177 | 3 142 280 8 1178 | 3 257 258 186 1179 | 3 790 143 147 1180 | 3 140 798 19 1181 | 3 144 199 204 1182 | 3 145 795 146 1183 | 3 8 280 466 1184 | 3 213 192 205 1185 | 3 732 754 206 1186 | 3 147 149 790 1187 | 3 280 718 148 1188 | 3 52 795 145 1189 | 3 284 828 21 1190 | 3 483 476 828 1191 | 3 206 153 796 1192 | 3 194 806 208 1193 | 3 154 149 795 1194 | 3 790 162 798 1195 | 3 29 798 797 1196 | 3 201 163 211 1197 | 3 154 795 52 1198 | 3 149 162 790 1199 | 3 150 138 115 1200 | 3 784 210 151 1201 | 3 120 152 153 1202 | 3 161 149 154 1203 | 3 797 281 29 1204 | 3 155 26 515 1205 | 3 188 425 187 1206 | 3 169 281 162 1207 | 3 187 425 152 1208 | 3 570 501 524 1209 | 3 503 429 156 1210 | 3 212 210 182 1211 | 3 161 168 149 1212 | 3 168 162 149 1213 | 3 157 513 346 1214 | 3 179 194 158 1215 | 3 52 145 32 1216 | 3 478 120 153 1217 | 3 770 50 305 1218 | 3 211 202 749 1219 | 3 799 84 159 1220 | 3 160 154 52 1221 | 3 160 161 154 1222 | 3 162 168 169 1223 | 3 212 199 144 1224 | 3 163 182 202 1225 | 3 164 160 52 1226 | 3 165 166 167 1227 | 3 26 184 139 1228 | 3 168 335 169 1229 | 3 169 259 281 1230 | 3 627 745 626 1231 | 3 259 169 801 1232 | 3 569 96 455 1233 | 3 170 599 120 1234 | 3 788 182 210 1235 | 3 200 213 762 1236 | 3 161 335 168 1237 | 3 69 621 171 1238 | 3 71 161 160 1239 | 3 172 173 174 1240 | 3 224 9 175 1241 | 3 179 199 212 1242 | 3 180 179 212 1243 | 3 213 205 761 1244 | 3 176 177 553 1245 | 3 553 177 20 1246 | 3 209 158 194 1247 | 3 525 271 420 1248 | 3 139 184 178 1249 | 3 263 115 138 1250 | 3 194 804 807 1251 | 3 179 180 805 1252 | 3 335 161 808 1253 | 3 181 165 205 1254 | 3 182 163 809 1255 | 3 266 257 810 1256 | 3 152 327 216 1257 | 3 776 812 811 1258 | 3 832 183 469 1259 | 3 741 190 207 1260 | 3 201 805 163 1261 | 3 204 191 213 1262 | 3 184 135 264 1263 | 3 171 17 185 1264 | 3 186 258 777 1265 | 3 153 206 754 1266 | 3 346 300 861 1267 | 3 120 187 152 1268 | 3 599 322 188 1269 | 3 204 199 191 1270 | 3 135 136 189 1271 | 3 17 271 70 1272 | 3 752 144 204 1273 | 3 815 190 816 1274 | 3 21 227 93 1275 | 3 191 173 192 1276 | 3 789 198 119 1277 | 3 193 56 821 1278 | 3 197 207 211 1279 | 3 805 194 179 1280 | 3 56 93 227 1281 | 3 56 393 93 1282 | 3 475 579 195 1283 | 3 351 818 396 1284 | 3 579 477 863 1285 | 3 196 748 8 1286 | 3 804 201 150 1287 | 3 179 158 199 1288 | 3 627 207 197 1289 | 3 263 138 680 1290 | 3 612 119 198 1291 | 3 134 199 158 1292 | 3 155 184 26 1293 | 3 202 182 788 1294 | 3 610 612 198 1295 | 3 777 158 209 1296 | 3 204 213 200 1297 | 3 258 158 777 1298 | 3 803 134 158 1299 | 3 814 150 201 1300 | 3 821 64 193 1301 | 3 807 806 194 1302 | 3 612 705 623 1303 | 3 230 202 203 1304 | 3 91 271 625 1305 | 3 204 200 752 1306 | 3 213 761 762 1307 | 3 751 151 200 1308 | 3 241 183 832 1309 | 3 205 165 167 1310 | 3 623 705 642 1311 | 3 192 173 181 1312 | 3 746 197 749 1313 | 3 510 453 592 1314 | 3 206 821 822 1315 | 3 815 207 190 1316 | 3 203 202 788 1317 | 3 208 209 194 1318 | 3 822 732 206 1319 | 3 212 144 210 1320 | 3 599 188 120 1321 | 3 163 202 211 1322 | 3 180 212 182 1323 | 3 191 192 213 1324 | 3 173 172 261 1325 | 3 206 64 821 1326 | 3 800 745 612 1327 | 3 192 181 205 1328 | 3 120 188 187 1329 | 3 206 216 64 1330 | 3 184 787 470 1331 | 3 214 425 188 1332 | 3 809 180 182 1333 | 3 167 215 205 1334 | 3 796 216 206 1335 | 3 276 310 171 1336 | 3 644 376 296 1337 | 3 223 233 217 1338 | 3 171 818 276 1339 | 3 818 171 621 1340 | 3 511 20 218 1341 | 3 73 219 248 1342 | 3 317 220 97 1343 | 3 376 28 238 1344 | 3 686 221 222 1345 | 3 106 276 818 1346 | 3 527 561 380 1347 | 3 223 217 824 1348 | 3 93 94 259 1349 | 3 171 310 279 1350 | 3 542 241 831 1351 | 3 41 241 826 1352 | 3 220 710 712 1353 | 3 386 303 224 1354 | 3 243 543 548 1355 | 3 522 543 249 1356 | 3 383 375 225 1357 | 3 247 248 831 1358 | 3 226 247 459 1359 | 3 244 243 103 1360 | 3 231 332 232 1361 | 3 295 441 432 1362 | 3 243 548 103 1363 | 3 476 56 227 1364 | 3 228 486 482 1365 | 3 229 420 271 1366 | 3 229 17 89 1367 | 3 749 202 230 1368 | 3 231 232 829 1369 | 3 691 103 607 1370 | 3 768 183 41 1371 | 3 231 9 332 1372 | 3 233 232 217 1373 | 3 223 403 233 1374 | 3 247 831 242 1375 | 3 234 3 235 1376 | 3 3 0 236 1377 | 3 237 825 823 1378 | 3 404 724 383 1379 | 3 222 221 725 1380 | 3 352 106 818 1381 | 3 238 28 30 1382 | 3 145 146 650 1383 | 3 239 12 256 1384 | 3 832 242 240 1385 | 3 240 241 832 1386 | 3 247 242 459 1387 | 3 459 242 833 1388 | 3 171 279 17 1389 | 3 454 491 434 1390 | 3 542 467 241 1391 | 3 243 244 245 1392 | 3 103 548 607 1393 | 3 248 541 831 1394 | 3 691 628 246 1395 | 3 183 241 41 1396 | 3 247 73 248 1397 | 3 249 72 226 1398 | 3 424 250 875 1399 | 3 607 548 251 1400 | 3 770 462 472 1401 | 3 30 234 882 1402 | 3 252 40 225 1403 | 3 754 732 36 1404 | 3 803 258 266 1405 | 3 172 803 266 1406 | 3 380 561 350 1407 | 3 253 257 837 1408 | 3 364 254 622 1409 | 3 476 227 828 1410 | 3 522 827 526 1411 | 3 266 255 172 1412 | 3 255 261 172 1413 | 3 352 397 256 1414 | 3 829 175 231 1415 | 3 257 266 258 1416 | 3 801 21 259 1417 | 3 532 537 260 1418 | 3 817 261 255 1419 | 3 505 508 262 1420 | 3 263 264 812 1421 | 3 305 836 261 1422 | 3 622 254 520 1423 | 3 178 264 263 1424 | 3 189 812 265 1425 | 3 449 9 841 1426 | 3 265 135 189 1427 | 3 21 93 259 1428 | 3 312 165 181 1429 | 3 810 255 266 1430 | 3 371 317 76 1431 | 3 178 184 264 1432 | 3 267 306 308 1433 | 3 669 268 269 1434 | 3 1 386 270 1435 | 3 29 272 362 1436 | 3 625 271 525 1437 | 3 843 812 189 1438 | 3 136 838 189 1439 | 3 362 272 842 1440 | 3 838 186 273 1441 | 3 273 189 838 1442 | 3 319 326 24 1443 | 3 504 838 136 1444 | 3 449 267 439 1445 | 3 869 794 872 1446 | 3 729 307 306 1447 | 3 845 306 274 1448 | 3 404 403 223 1449 | 3 56 193 393 1450 | 3 275 735 681 1451 | 3 555 540 547 1452 | 3 469 253 838 1453 | 3 106 256 298 1454 | 3 847 276 106 1455 | 3 427 618 277 1456 | 3 847 92 276 1457 | 3 495 849 283 1458 | 3 284 286 278 1459 | 3 94 308 307 1460 | 3 279 310 65 1461 | 3 284 335 285 1462 | 3 735 614 681 1463 | 3 728 849 495 1464 | 3 314 272 29 1465 | 3 116 718 280 1466 | 3 314 29 281 1467 | 3 286 304 282 1468 | 3 283 849 318 1469 | 3 808 285 335 1470 | 3 282 304 80 1471 | 3 341 379 348 1472 | 3 284 285 286 1473 | 3 287 48 113 1474 | 3 288 289 378 1475 | 3 290 846 402 1476 | 3 828 728 489 1477 | 3 840 318 13 1478 | 3 125 291 46 1479 | 3 393 394 446 1480 | 3 446 309 292 1481 | 3 90 863 89 1482 | 3 292 93 393 1483 | 3 259 314 281 1484 | 3 65 400 89 1485 | 3 328 293 216 1486 | 3 403 40 233 1487 | 3 308 292 309 1488 | 3 89 400 439 1489 | 3 314 307 272 1490 | 3 454 294 295 1491 | 3 842 270 362 1492 | 3 682 389 364 1493 | 3 1 303 386 1494 | 3 28 2 234 1495 | 3 80 304 71 1496 | 3 296 238 660 1497 | 3 297 298 846 1498 | 3 3 2 237 1499 | 3 299 735 336 1500 | 3 185 69 171 1501 | 3 308 94 292 1502 | 3 300 328 851 1503 | 3 836 313 312 1504 | 3 113 301 37 1505 | 3 305 313 836 1506 | 3 176 536 302 1507 | 3 274 267 449 1508 | 3 495 283 840 1509 | 3 729 303 1 1510 | 3 285 71 304 1511 | 3 285 304 286 1512 | 3 166 165 315 1513 | 3 305 311 313 1514 | 3 306 307 308 1515 | 3 267 309 90 1516 | 3 66 65 310 1517 | 3 51 311 305 1518 | 3 313 311 852 1519 | 3 852 329 315 1520 | 3 312 313 315 1521 | 3 763 314 259 1522 | 3 898 311 51 1523 | 3 421 170 478 1524 | 3 513 732 343 1525 | 3 236 235 3 1526 | 3 898 324 311 1527 | 3 311 324 852 1528 | 3 315 329 166 1529 | 3 613 76 317 1530 | 3 852 324 329 1531 | 3 39 63 319 1532 | 3 316 286 282 1533 | 3 452 0 323 1534 | 3 324 333 329 1535 | 3 275 220 317 1536 | 3 13 318 734 1537 | 3 118 319 63 1538 | 3 320 30 882 1539 | 3 321 188 322 1540 | 3 9 449 447 1541 | 3 324 458 333 1542 | 3 65 17 279 1543 | 3 323 232 453 1544 | 3 458 324 325 1545 | 3 799 166 331 1546 | 3 326 118 109 1547 | 3 327 328 216 1548 | 3 329 333 330 1549 | 3 786 326 121 1550 | 3 11 779 846 1551 | 3 330 166 329 1552 | 3 331 334 854 1553 | 3 331 84 799 1554 | 3 232 332 23 1555 | 3 781 333 458 1556 | 3 781 334 333 1557 | 3 284 21 335 1558 | 3 10 779 11 1559 | 3 275 336 735 1560 | 3 337 368 338 1561 | 3 339 348 357 1562 | 3 859 340 366 1563 | 3 611 341 348 1564 | 3 388 859 124 1565 | 3 48 342 112 1566 | 3 343 56 476 1567 | 3 355 288 347 1568 | 3 859 388 340 1569 | 3 121 109 369 1570 | 3 95 102 344 1571 | 3 10 12 239 1572 | 3 198 341 611 1573 | 3 260 537 417 1574 | 3 766 345 400 1575 | 3 534 300 346 1576 | 3 337 62 371 1577 | 3 366 355 347 1578 | 3 754 36 862 1579 | 3 387 381 19 1580 | 3 379 95 349 1581 | 3 348 379 349 1582 | 3 344 858 95 1583 | 3 387 19 363 1584 | 3 118 326 319 1585 | 3 648 31 35 1586 | 3 378 369 83 1587 | 3 350 547 380 1588 | 3 351 877 352 1589 | 3 353 354 392 1590 | 3 361 355 356 1591 | 3 353 392 668 1592 | 3 357 348 349 1593 | 3 358 354 353 1594 | 3 360 359 662 1595 | 3 355 361 288 1596 | 3 592 574 448 1597 | 3 360 473 359 1598 | 3 533 530 374 1599 | 3 347 378 88 1600 | 3 737 637 646 1601 | 3 539 835 423 1602 | 3 127 340 388 1603 | 3 356 127 361 1604 | 3 737 381 637 1605 | 3 87 737 646 1606 | 3 347 288 378 1607 | 3 220 681 688 1608 | 3 19 362 363 1609 | 3 364 389 365 1610 | 3 121 326 109 1611 | 3 860 361 130 1612 | 3 773 859 366 1613 | 3 360 676 367 1614 | 3 368 76 674 1615 | 3 224 175 386 1616 | 3 870 473 360 1617 | 3 783 369 109 1618 | 3 270 363 362 1619 | 3 376 370 2 1620 | 3 337 371 368 1621 | 3 31 372 354 1622 | 3 367 870 360 1623 | 3 644 373 376 1624 | 3 374 527 865 1625 | 3 381 375 637 1626 | 3 124 859 102 1627 | 3 376 373 370 1628 | 3 2 370 377 1629 | 3 377 867 2 1630 | 3 378 289 369 1631 | 3 429 484 451 1632 | 3 373 372 370 1633 | 3 379 102 95 1634 | 3 289 121 369 1635 | 3 517 866 380 1636 | 3 711 220 688 1637 | 3 275 681 220 1638 | 3 387 252 375 1639 | 3 381 387 375 1640 | 3 418 382 429 1641 | 3 340 355 366 1642 | 3 422 539 423 1643 | 3 868 648 867 1644 | 3 637 383 724 1645 | 3 825 237 867 1646 | 3 844 841 303 1647 | 3 366 347 88 1648 | 3 473 870 384 1649 | 3 384 885 473 1650 | 3 830 411 385 1651 | 3 40 386 175 1652 | 3 483 228 420 1653 | 3 363 386 252 1654 | 3 387 363 252 1655 | 3 386 363 270 1656 | 3 388 45 127 1657 | 3 883 484 895 1658 | 3 389 390 391 1659 | 3 584 519 528 1660 | 3 373 392 372 1661 | 3 535 64 293 1662 | 3 393 193 394 1663 | 3 367 613 870 1664 | 3 417 395 606 1665 | 3 392 354 372 1666 | 3 499 294 896 1667 | 3 396 132 351 1668 | 3 397 399 239 1669 | 3 397 877 398 1670 | 3 399 779 10 1671 | 3 876 877 351 1672 | 3 398 778 399 1673 | 3 399 397 398 1674 | 3 399 778 779 1675 | 3 132 876 351 1676 | 3 886 439 400 1677 | 3 401 778 402 1678 | 3 876 406 778 1679 | 3 778 406 402 1680 | 3 403 404 383 1681 | 3 405 876 132 1682 | 3 876 405 406 1683 | 3 671 604 864 1684 | 3 131 405 132 1685 | 3 373 644 656 1686 | 3 296 376 238 1687 | 3 405 131 406 1688 | 3 421 478 774 1689 | 3 407 493 408 1690 | 3 131 409 406 1691 | 3 406 409 402 1692 | 3 883 454 434 1693 | 3 644 296 643 1694 | 3 131 69 410 1695 | 3 410 409 131 1696 | 3 409 92 402 1697 | 3 416 411 830 1698 | 3 371 275 317 1699 | 3 480 566 881 1700 | 3 598 415 830 1701 | 3 411 395 872 1702 | 3 97 712 871 1703 | 3 830 415 416 1704 | 3 364 365 254 1705 | 3 869 872 412 1706 | 3 97 220 712 1707 | 3 383 225 403 1708 | 3 480 881 474 1709 | 3 598 413 415 1710 | 3 414 501 570 1711 | 3 443 413 598 1712 | 3 415 424 416 1713 | 3 416 395 411 1714 | 3 395 417 872 1715 | 3 878 417 418 1716 | 3 409 345 765 1717 | 3 414 570 419 1718 | 3 229 863 420 1719 | 3 413 423 415 1720 | 3 375 252 225 1721 | 3 414 413 442 1722 | 3 511 218 419 1723 | 3 414 422 413 1724 | 3 415 423 424 1725 | 3 421 599 170 1726 | 3 69 91 345 1727 | 3 422 423 413 1728 | 3 835 424 423 1729 | 3 870 97 871 1730 | 3 425 214 428 1731 | 3 426 891 879 1732 | 3 427 511 687 1733 | 3 471 474 496 1734 | 3 403 225 40 1735 | 3 428 327 425 1736 | 3 503 485 429 1737 | 3 345 91 431 1738 | 3 594 430 540 1739 | 3 375 383 637 1740 | 3 431 400 345 1741 | 3 243 563 72 1742 | 3 91 625 886 1743 | 3 295 432 454 1744 | 3 516 433 593 1745 | 3 293 328 300 1746 | 3 533 593 436 1747 | 3 883 434 435 1748 | 3 436 433 882 1749 | 3 540 430 517 1750 | 3 436 450 533 1751 | 3 450 530 533 1752 | 3 883 435 484 1753 | 3 880 881 499 1754 | 3 294 454 893 1755 | 3 376 2 28 1756 | 3 508 505 820 1757 | 3 437 553 512 1758 | 3 176 553 884 1759 | 3 523 438 444 1760 | 3 625 448 886 1761 | 3 439 886 440 1762 | 3 40 252 386 1763 | 3 441 802 432 1764 | 3 116 142 723 1765 | 3 882 235 450 1766 | 3 530 450 887 1767 | 3 887 509 530 1768 | 3 408 896 407 1769 | 3 442 413 443 1770 | 3 473 553 437 1771 | 3 884 701 176 1772 | 3 440 449 439 1773 | 3 394 535 546 1774 | 3 359 473 848 1775 | 3 438 445 444 1776 | 3 445 320 433 1777 | 3 320 882 433 1778 | 3 523 659 438 1779 | 3 453 574 592 1780 | 3 546 475 446 1781 | 3 446 394 546 1782 | 3 332 447 448 1783 | 3 447 449 448 1784 | 3 309 446 475 1785 | 3 885 553 473 1786 | 3 235 452 450 1787 | 3 23 574 453 1788 | 3 23 332 574 1789 | 3 429 451 412 1790 | 3 452 323 544 1791 | 3 323 453 544 1792 | 3 445 660 320 1793 | 3 234 235 882 1794 | 3 454 432 491 1795 | 3 455 456 569 1796 | 3 479 456 457 1797 | 3 726 7 493 1798 | 3 435 434 605 1799 | 3 826 462 41 1800 | 3 471 458 325 1801 | 3 833 506 459 1802 | 3 262 840 505 1803 | 3 432 96 491 1804 | 3 723 142 460 1805 | 3 457 793 479 1806 | 3 7 496 880 1807 | 3 462 793 461 1808 | 3 853 426 793 1809 | 3 524 501 890 1810 | 3 462 467 793 1811 | 3 463 545 582 1812 | 3 582 545 536 1813 | 3 464 521 465 1814 | 3 390 8 466 1815 | 3 792 467 542 1816 | 3 426 853 891 1817 | 3 351 352 818 1818 | 3 321 468 214 1819 | 3 506 832 469 1820 | 3 470 504 135 1821 | 3 780 471 496 1822 | 3 461 472 462 1823 | 3 848 473 437 1824 | 3 465 521 25 1825 | 3 500 480 474 1826 | 3 892 325 898 1827 | 3 195 90 309 1828 | 3 426 879 897 1829 | 3 453 510 544 1830 | 3 475 195 309 1831 | 3 863 483 420 1832 | 3 442 443 501 1833 | 3 73 549 219 1834 | 3 819 503 899 1835 | 3 476 483 477 1836 | 3 593 517 516 1837 | 3 896 819 407 1838 | 3 862 861 478 1839 | 3 219 456 479 1840 | 3 408 499 896 1841 | 3 838 504 469 1842 | 3 623 758 585 1843 | 3 528 482 490 1844 | 3 480 891 108 1845 | 3 481 605 434 1846 | 3 51 502 898 1847 | 3 482 487 490 1848 | 3 864 873 671 1849 | 3 228 483 488 1850 | 3 484 485 895 1851 | 3 495 486 850 1852 | 3 486 487 482 1853 | 3 899 508 819 1854 | 3 488 489 850 1855 | 3 487 554 490 1856 | 3 890 583 524 1857 | 3 491 481 434 1858 | 3 486 492 487 1859 | 3 435 869 484 1860 | 3 7 880 493 1861 | 3 324 898 325 1862 | 3 492 554 487 1863 | 3 840 839 495 1864 | 3 696 494 698 1865 | 3 541 219 479 1866 | 3 495 492 486 1867 | 3 565 554 492 1868 | 3 565 538 554 1869 | 3 851 428 300 1870 | 3 731 496 7 1871 | 3 72 560 73 1872 | 3 849 728 497 1873 | 3 604 671 498 1874 | 3 566 499 881 1875 | 3 471 500 474 1876 | 3 219 541 248 1877 | 3 502 472 426 1878 | 3 495 839 492 1879 | 3 414 442 501 1880 | 3 848 437 512 1881 | 3 325 500 471 1882 | 3 534 535 293 1883 | 3 284 278 497 1884 | 3 837 838 253 1885 | 3 897 502 426 1886 | 3 492 839 565 1887 | 3 156 565 503 1888 | 3 409 765 92 1889 | 3 469 504 506 1890 | 3 505 726 493 1891 | 3 518 506 504 1892 | 3 507 839 508 1893 | 3 840 726 505 1894 | 3 394 64 535 1895 | 3 530 509 529 1896 | 3 510 556 531 1897 | 3 527 490 561 1898 | 3 511 512 553 1899 | 3 343 475 513 1900 | 3 25 514 515 1901 | 3 515 514 518 1902 | 3 516 517 463 1903 | 3 514 506 518 1904 | 3 391 390 466 1905 | 3 519 228 482 1906 | 3 250 562 260 1907 | 3 254 43 520 1908 | 3 582 536 176 1909 | 3 509 531 584 1910 | 3 522 25 521 1911 | 3 25 522 514 1912 | 3 582 523 27 1913 | 3 524 583 698 1914 | 3 459 506 514 1915 | 3 556 592 525 1916 | 3 523 582 701 1917 | 3 521 464 522 1918 | 3 509 510 531 1919 | 3 526 514 522 1920 | 3 27 463 582 1921 | 3 527 528 490 1922 | 3 529 374 530 1923 | 3 531 556 519 1924 | 3 555 547 532 1925 | 3 866 533 374 1926 | 3 534 546 535 1927 | 3 594 536 545 1928 | 3 463 517 430 1929 | 3 540 380 547 1930 | 3 418 417 537 1931 | 3 538 350 561 1932 | 3 302 539 176 1933 | 3 594 540 555 1934 | 3 541 479 542 1935 | 3 555 260 562 1936 | 3 548 543 464 1937 | 3 18 544 510 1938 | 3 545 463 594 1939 | 3 475 546 513 1940 | 3 444 516 463 1941 | 3 547 350 418 1942 | 3 464 251 548 1943 | 3 549 551 219 1944 | 3 645 611 22 1945 | 3 560 549 73 1946 | 3 520 695 550 1947 | 3 350 538 382 1948 | 3 418 350 382 1949 | 3 563 558 72 1950 | 3 72 558 560 1951 | 3 560 559 549 1952 | 3 219 551 456 1953 | 3 476 477 579 1954 | 3 552 520 550 1955 | 3 511 553 20 1956 | 3 538 561 554 1957 | 3 562 594 555 1958 | 3 539 20 177 1959 | 3 519 556 525 1960 | 3 698 494 557 1961 | 3 558 559 560 1962 | 3 559 551 549 1963 | 3 245 563 243 1964 | 3 537 532 418 1965 | 3 457 853 793 1966 | 3 802 441 853 1967 | 3 569 456 551 1968 | 3 554 561 490 1969 | 3 536 562 835 1970 | 3 427 512 511 1971 | 3 563 888 558 1972 | 3 558 888 559 1973 | 3 691 104 615 1974 | 3 564 551 117 1975 | 3 551 564 569 1976 | 3 156 538 565 1977 | 3 104 834 244 1978 | 3 108 566 480 1979 | 3 834 568 563 1980 | 3 564 117 567 1981 | 3 295 566 441 1982 | 3 104 571 834 1983 | 3 568 888 563 1984 | 3 748 460 8 1985 | 3 698 557 524 1986 | 3 96 569 564 1987 | 3 527 374 584 1988 | 3 524 557 570 1989 | 3 575 888 572 1990 | 3 564 573 96 1991 | 3 295 294 566 1992 | 3 889 571 873 1993 | 3 889 578 568 1994 | 3 572 578 856 1995 | 3 96 573 491 1996 | 3 499 566 294 1997 | 3 567 581 564 1998 | 3 332 448 574 1999 | 3 895 503 819 2000 | 3 856 575 572 2001 | 3 573 577 576 2002 | 3 177 176 539 2003 | 3 630 873 571 2004 | 3 577 581 580 2005 | 3 260 555 532 2006 | 3 575 855 581 2007 | 3 856 578 874 2008 | 3 547 418 532 2009 | 3 579 475 476 2010 | 3 855 580 581 2011 | 3 701 582 176 2012 | 3 53 694 5 2013 | 3 583 604 498 2014 | 3 531 519 584 2015 | 3 5 694 585 2016 | 3 874 857 856 2017 | 3 856 855 575 2018 | 3 520 43 695 2019 | 3 573 481 491 2020 | 3 586 719 53 2021 | 3 723 587 613 2022 | 3 576 481 573 2023 | 3 894 893 883 2024 | 3 588 357 589 2025 | 3 857 590 855 2026 | 3 855 590 591 2027 | 3 525 592 625 2028 | 3 874 597 857 2029 | 3 593 533 866 2030 | 3 228 525 420 2031 | 3 562 536 594 2032 | 3 430 594 463 2033 | 3 602 580 595 2034 | 3 601 605 481 2035 | 3 604 596 864 2036 | 3 597 864 596 2037 | 3 595 591 830 2038 | 3 602 601 580 2039 | 3 519 525 228 2040 | 3 155 515 518 2041 | 3 443 598 597 2042 | 3 510 592 556 2043 | 3 399 10 239 2044 | 3 597 598 857 2045 | 3 598 590 857 2046 | 3 517 380 540 2047 | 3 468 599 421 2048 | 3 468 322 599 2049 | 3 468 321 322 2050 | 3 601 794 605 2051 | 3 543 522 464 2052 | 3 374 529 584 2053 | 3 865 866 374 2054 | 3 671 600 552 2055 | 3 601 602 603 2056 | 3 603 794 601 2057 | 3 598 830 590 2058 | 3 527 584 528 2059 | 3 517 593 866 2060 | 3 584 529 509 2061 | 3 468 421 609 2062 | 3 513 534 346 2063 | 3 604 443 596 2064 | 3 385 602 830 2065 | 3 277 512 427 2066 | 3 428 214 468 2067 | 3 604 583 443 2068 | 3 596 443 597 2069 | 3 794 869 605 2070 | 3 606 875 260 2071 | 3 528 519 482 2072 | 3 895 485 503 2073 | 3 607 608 628 2074 | 3 609 428 468 2075 | 3 610 198 611 2076 | 3 800 612 706 2077 | 3 125 743 37 2078 | 3 719 629 53 2079 | 3 613 587 76 2080 | 3 464 655 251 2081 | 3 627 651 619 2082 | 3 632 634 586 2083 | 3 629 619 617 2084 | 3 813 843 186 2085 | 3 614 759 678 2086 | 3 615 103 691 2087 | 3 390 682 196 2088 | 3 680 616 669 2089 | 3 612 610 645 2090 | 3 619 651 617 2091 | 3 679 663 618 2092 | 3 632 721 251 2093 | 3 619 629 742 2094 | 3 689 657 711 2095 | 3 824 825 223 2096 | 3 223 825 404 2097 | 3 34 673 608 2098 | 3 680 150 616 2099 | 3 629 617 708 2100 | 3 670 620 4 2101 | 3 620 670 692 2102 | 3 131 621 69 2103 | 3 693 622 624 2104 | 3 585 631 623 2105 | 3 641 680 669 2106 | 3 624 622 520 2107 | 3 589 337 690 2108 | 3 448 625 592 2109 | 3 724 404 738 2110 | 3 626 651 627 2111 | 3 673 693 633 2112 | 3 628 673 633 2113 | 3 738 825 640 2114 | 3 716 629 719 2115 | 3 571 246 630 2116 | 3 251 721 607 2117 | 3 708 631 585 2118 | 3 5 585 670 2119 | 3 628 633 246 2120 | 3 633 624 653 2121 | 3 632 33 721 2122 | 3 800 706 709 2123 | 3 825 867 640 2124 | 3 246 633 600 2125 | 3 630 246 600 2126 | 3 634 669 635 2127 | 3 730 638 724 2128 | 3 692 636 364 2129 | 3 637 638 646 2130 | 3 660 643 296 2131 | 3 4 620 673 2132 | 3 269 641 669 2133 | 3 639 638 640 2134 | 3 867 639 640 2135 | 3 867 648 639 2136 | 3 693 692 622 2137 | 3 139 641 465 2138 | 3 646 638 714 2139 | 3 647 661 660 2140 | 3 642 196 636 2141 | 3 600 653 552 2142 | 3 643 656 644 2143 | 3 610 611 645 2144 | 3 620 692 693 2145 | 3 716 190 629 2146 | 3 656 643 703 2147 | 3 714 649 646 2148 | 3 742 741 619 2149 | 3 647 658 661 2150 | 3 648 649 639 2151 | 3 649 650 646 2152 | 3 608 673 628 2153 | 3 617 651 707 2154 | 3 659 523 700 2155 | 3 657 647 652 2156 | 3 392 373 656 2157 | 3 629 708 53 2158 | 3 653 520 552 2159 | 3 700 654 659 2160 | 3 652 654 657 2161 | 3 658 664 661 2162 | 3 465 655 464 2163 | 3 664 665 661 2164 | 3 703 665 656 2165 | 3 668 392 656 2166 | 3 633 653 600 2167 | 3 145 649 648 2168 | 3 647 657 658 2169 | 3 657 664 658 2170 | 3 660 438 647 2171 | 3 771 650 146 2172 | 3 668 656 665 2173 | 3 634 716 719 2174 | 3 145 650 649 2175 | 3 659 647 438 2176 | 3 655 632 251 2177 | 3 662 359 848 2178 | 3 104 246 571 2179 | 3 758 692 670 2180 | 3 636 196 682 2181 | 3 618 662 848 2182 | 3 660 661 643 2183 | 3 701 885 654 2184 | 3 662 676 360 2185 | 3 657 689 664 2186 | 3 664 666 665 2187 | 3 667 668 665 2188 | 3 268 632 655 2189 | 3 465 268 655 2190 | 3 268 634 632 2191 | 3 657 654 683 2192 | 3 676 662 663 2193 | 3 22 357 748 2194 | 3 664 689 666 2195 | 3 666 667 665 2196 | 3 666 677 667 2197 | 3 678 667 677 2198 | 3 667 678 668 2199 | 3 668 678 111 2200 | 3 669 634 268 2201 | 3 635 716 634 2202 | 3 683 713 657 2203 | 3 4 5 670 2204 | 3 444 445 433 2205 | 3 663 718 676 2206 | 3 688 666 689 2207 | 3 671 873 600 2208 | 3 672 367 676 2209 | 3 672 613 367 2210 | 3 691 246 104 2211 | 3 663 679 718 2212 | 3 673 620 693 2213 | 3 338 76 587 2214 | 3 679 618 685 2215 | 3 76 338 674 2216 | 3 677 666 688 2217 | 3 642 704 675 2218 | 3 685 618 427 2219 | 3 718 672 676 2220 | 3 618 663 662 2221 | 3 681 677 688 2222 | 3 718 717 672 2223 | 3 708 585 694 2224 | 3 713 683 885 2225 | 3 687 570 557 2226 | 3 687 684 427 2227 | 3 587 723 338 2228 | 3 677 614 678 2229 | 3 684 685 427 2230 | 3 148 718 679 2231 | 3 263 680 178 2232 | 3 614 677 681 2233 | 3 630 600 873 2234 | 3 636 682 364 2235 | 3 687 557 494 2236 | 3 148 679 685 2237 | 3 885 683 654 2238 | 3 654 652 659 2239 | 3 686 684 687 2240 | 3 684 222 685 2241 | 3 222 148 685 2242 | 3 816 716 616 2243 | 3 696 686 687 2244 | 3 659 652 647 2245 | 3 722 116 717 2246 | 3 711 688 689 2247 | 3 494 696 687 2248 | 3 690 338 723 2249 | 3 758 642 636 2250 | 3 607 628 691 2251 | 3 674 338 368 2252 | 3 692 364 622 2253 | 3 693 624 633 2254 | 3 690 337 338 2255 | 3 614 14 736 2256 | 3 694 53 708 2257 | 3 695 686 696 2258 | 3 697 148 222 2259 | 3 741 627 619 2260 | 3 607 721 608 2261 | 3 550 696 698 2262 | 3 695 43 686 2263 | 3 460 690 723 2264 | 3 583 498 698 2265 | 3 550 695 696 2266 | 3 460 589 690 2267 | 3 538 156 382 2268 | 3 699 148 697 2269 | 3 498 552 698 2270 | 3 552 550 698 2271 | 3 725 699 697 2272 | 3 391 466 699 2273 | 3 8 460 142 2274 | 3 624 520 653 2275 | 3 675 196 642 2276 | 3 654 700 701 2277 | 3 575 567 888 2278 | 3 254 725 702 2279 | 3 280 142 116 2280 | 3 391 254 365 2281 | 3 391 365 389 2282 | 3 389 682 390 2283 | 3 701 700 523 2284 | 3 665 703 661 2285 | 3 725 43 702 2286 | 3 43 725 221 2287 | 3 221 686 43 2288 | 3 725 697 222 2289 | 3 222 684 686 2290 | 3 661 703 643 2291 | 3 196 675 748 2292 | 3 675 704 748 2293 | 3 704 22 748 2294 | 3 704 645 22 2295 | 3 704 642 645 2296 | 3 645 642 705 2297 | 3 705 612 645 2298 | 3 623 706 612 2299 | 3 758 623 642 2300 | 3 623 709 706 2301 | 3 623 631 709 2302 | 3 631 707 709 2303 | 3 631 708 707 2304 | 3 707 651 709 2305 | 3 651 800 709 2306 | 3 708 617 707 2307 | 3 649 714 639 2308 | 3 220 711 710 2309 | 3 711 713 710 2310 | 3 711 657 713 2311 | 3 713 712 710 2312 | 3 713 871 712 2313 | 3 713 885 871 2314 | 3 639 714 638 2315 | 3 699 466 280 2316 | 3 715 116 722 2317 | 3 497 828 284 2318 | 3 716 635 616 2319 | 3 715 717 718 2320 | 3 719 586 634 2321 | 3 616 635 669 2322 | 3 34 720 15 2323 | 3 720 33 586 2324 | 3 15 4 34 2325 | 3 33 632 586 2326 | 3 34 608 33 2327 | 3 608 721 33 2328 | 3 4 673 34 2329 | 3 725 254 391 2330 | 3 613 672 116 2331 | 3 672 717 116 2332 | 3 825 738 404 2333 | 3 715 722 717 2334 | 3 613 116 723 2335 | 3 738 730 724 2336 | 3 699 725 391 2337 | 3 726 755 7 2338 | 3 733 755 726 2339 | 3 757 727 755 2340 | 3 38 727 757 2341 | 3 828 497 728 2342 | 3 845 729 306 2343 | 3 839 507 565 2344 | 3 307 729 272 2345 | 3 638 730 640 2346 | 3 780 727 38 2347 | 3 780 731 727 2348 | 3 496 731 780 2349 | 3 732 157 36 2350 | 3 513 157 732 2351 | 3 734 733 13 2352 | 3 733 734 756 2353 | 3 299 14 735 2354 | 3 736 14 299 2355 | 3 737 16 381 2356 | 3 87 16 737 2357 | 3 38 107 780 2358 | 3 122 107 38 2359 | 3 640 730 738 2360 | 3 781 107 334 2361 | 3 452 18 509 2362 | 3 544 18 452 2363 | 3 611 339 22 2364 | 3 348 339 611 2365 | 3 137 739 740 2366 | 3 105 739 137 2367 | 3 740 739 24 2368 | 3 741 742 190 2369 | 3 743 854 85 2370 | 3 744 854 743 2371 | 3 746 44 745 2372 | 3 197 746 627 2373 | 3 749 44 746 2374 | 3 45 44 750 2375 | 3 190 742 629 2376 | 3 42 35 31 2377 | 3 105 747 751 2378 | 3 137 747 105 2379 | 3 358 111 47 2380 | 3 353 111 358 2381 | 3 748 588 460 2382 | 3 357 588 748 2383 | 3 749 750 44 2384 | 3 230 750 749 2385 | 3 39 200 762 2386 | 3 751 200 39 2387 | 3 210 752 151 2388 | 3 144 752 210 2389 | 3 111 753 47 2390 | 3 678 753 111 2391 | 3 754 862 153 2392 | 3 565 507 899 2393 | 3 757 756 6 2394 | 3 755 756 757 2395 | 3 692 758 636 2396 | 3 759 753 678 2397 | 3 777 208 776 2398 | 3 209 208 777 2399 | 3 759 54 753 2400 | 3 75 59 58 2401 | 3 762 760 39 2402 | 3 761 760 762 2403 | 3 307 763 94 2404 | 3 314 763 307 2405 | 3 61 57 49 2406 | 3 164 57 61 2407 | 3 759 75 54 2408 | 3 585 758 670 2409 | 3 761 215 764 2410 | 3 215 761 205 2411 | 3 765 67 66 2412 | 3 766 400 65 2413 | 3 765 766 67 2414 | 3 345 766 765 2415 | 3 775 74 736 2416 | 3 82 74 775 2417 | 3 759 736 74 2418 | 3 736 759 614 2419 | 3 680 641 178 2420 | 3 82 75 759 2421 | 3 59 77 81 2422 | 3 767 77 59 2423 | 3 767 78 77 2424 | 3 378 78 767 2425 | 3 86 768 770 2426 | 3 86 253 768 2427 | 3 775 772 82 2428 | 3 366 772 769 2429 | 3 770 817 86 2430 | 3 305 817 770 2431 | 3 646 771 87 2432 | 3 650 771 646 2433 | 3 775 769 772 2434 | 3 775 858 773 2435 | 3 428 609 774 2436 | 3 129 740 130 2437 | 3 773 769 775 2438 | 3 859 773 858 2439 | 3 83 782 98 2440 | 3 109 782 783 2441 | 3 98 101 342 2442 | 3 114 101 98 2443 | 3 776 813 777 2444 | 3 811 813 776 2445 | 3 342 113 112 2446 | 3 100 113 342 2447 | 3 779 401 846 2448 | 3 778 401 779 2449 | 3 458 471 780 2450 | 3 780 781 458 2451 | 3 83 783 782 2452 | 3 369 783 83 2453 | 3 110 133 99 2454 | 3 784 151 137 2455 | 3 318 316 734 2456 | 3 849 316 318 2457 | 3 55 760 764 2458 | 3 774 609 421 2459 | 3 24 786 130 2460 | 3 385 785 602 2461 | 3 289 130 786 2462 | 3 289 288 860 2463 | 3 45 123 119 2464 | 3 388 123 45 2465 | 3 602 785 603 2466 | 3 326 786 24 2467 | 3 518 787 155 2468 | 3 470 135 184 2469 | 3 788 784 110 2470 | 3 210 784 788 2471 | 3 341 789 124 2472 | 3 198 789 341 2473 | 3 790 140 791 2474 | 3 798 140 790 2475 | 3 793 792 479 2476 | 3 467 792 793 2477 | 3 794 603 872 2478 | 3 158 258 803 2479 | 3 795 147 143 2480 | 3 149 147 795 2481 | 3 152 796 153 2482 | 3 216 796 152 2483 | 3 162 797 798 2484 | 3 281 797 162 2485 | 3 382 156 429 2486 | 3 872 603 785 2487 | 3 799 167 166 2488 | 3 215 167 799 2489 | 3 800 626 745 2490 | 3 651 626 800 2491 | 3 335 801 169 2492 | 3 21 801 335 2493 | 3 802 455 96 2494 | 3 456 455 802 2495 | 3 191 174 173 2496 | 3 134 174 191 2497 | 3 172 134 803 2498 | 3 174 134 172 2499 | 3 805 804 194 2500 | 3 201 804 805 2501 | 3 150 807 804 2502 | 3 806 807 150 2503 | 3 71 808 161 2504 | 3 285 808 71 2505 | 3 805 809 163 2506 | 3 180 809 805 2507 | 3 253 810 257 2508 | 3 86 810 253 2509 | 3 843 811 812 2510 | 3 813 811 843 2511 | 3 70 185 17 2512 | 3 69 185 70 2513 | 3 616 814 816 2514 | 3 150 814 616 2515 | 3 201 815 814 2516 | 3 211 815 201 2517 | 3 816 814 815 2518 | 3 716 816 190 2519 | 3 850 228 488 2520 | 3 261 817 305 2521 | 3 621 396 818 2522 | 3 132 396 621 2523 | 3 508 407 819 2524 | 3 820 407 508 2525 | 3 591 595 855 2526 | 3 207 815 211 2527 | 3 855 595 580 2528 | 3 255 810 86 2529 | 3 56 822 821 2530 | 3 732 822 56 2531 | 3 518 470 787 2532 | 3 504 470 518 2533 | 3 414 218 20 2534 | 3 419 218 414 2535 | 3 830 602 595 2536 | 3 73 247 226 2537 | 3 228 850 486 2538 | 3 183 768 253 2539 | 3 823 824 217 2540 | 3 825 824 823 2541 | 3 467 826 241 2542 | 3 462 826 467 2543 | 3 226 827 249 2544 | 3 459 827 226 2545 | 3 249 827 522 2546 | 3 243 249 543 2547 | 3 489 488 828 2548 | 3 17 229 271 2549 | 3 828 488 483 2550 | 3 863 229 89 2551 | 3 233 829 232 2552 | 3 175 829 233 2553 | 3 452 236 0 2554 | 3 235 236 452 2555 | 3 830 591 590 2556 | 3 72 249 243 2557 | 3 831 240 242 2558 | 3 241 240 831 2559 | 3 832 833 242 2560 | 3 506 833 832 2561 | 3 834 245 244 2562 | 3 563 245 834 2563 | 3 835 250 424 2564 | 3 562 250 835 2565 | 3 260 875 250 2566 | 3 260 417 606 2567 | 3 312 181 836 2568 | 3 853 441 108 2569 | 3 173 836 181 2570 | 3 261 836 173 2571 | 3 186 837 257 2572 | 3 838 837 186 2573 | 3 459 526 827 2574 | 3 514 526 459 2575 | 3 839 262 508 2576 | 3 840 262 839 2577 | 3 264 265 812 2578 | 3 135 265 264 2579 | 3 224 841 9 2580 | 3 303 841 224 2581 | 3 465 269 268 2582 | 3 641 269 465 2583 | 3 1 842 272 2584 | 3 270 842 1 2585 | 3 843 273 186 2586 | 3 189 273 843 2587 | 3 449 844 274 2588 | 3 841 844 449 2589 | 3 303 845 844 2590 | 3 729 845 303 2591 | 3 274 844 845 2592 | 3 267 274 306 2593 | 3 11 298 256 2594 | 3 846 298 11 2595 | 3 106 290 847 2596 | 3 846 290 297 2597 | 3 402 847 290 2598 | 3 92 847 402 2599 | 3 848 277 618 2600 | 3 512 277 848 2601 | 3 849 278 286 2602 | 3 497 278 849 2603 | 3 481 576 601 2604 | 3 316 849 286 2605 | 3 106 297 290 2606 | 3 298 297 106 2607 | 3 495 489 728 2608 | 3 850 489 495 2609 | 3 327 851 328 2610 | 3 428 851 327 2611 | 3 312 315 165 2612 | 3 597 874 864 2613 | 3 315 313 852 2614 | 3 853 108 891 2615 | 3 869 435 605 2616 | 3 84 331 854 2617 | 3 581 567 575 2618 | 3 330 331 166 2619 | 3 334 330 333 2620 | 3 863 195 579 2621 | 3 855 856 857 2622 | 3 331 330 334 2623 | 3 859 344 102 2624 | 3 858 344 859 2625 | 3 860 130 289 2626 | 3 361 860 288 2627 | 3 861 862 36 2628 | 3 863 477 483 2629 | 3 340 356 355 2630 | 3 127 356 340 2631 | 3 864 874 873 2632 | 3 372 31 648 2633 | 3 380 865 527 2634 | 3 866 865 380 2635 | 3 372 377 370 2636 | 3 867 377 868 2637 | 3 372 868 377 2638 | 3 648 868 372 2639 | 3 869 451 484 2640 | 3 412 451 869 2641 | 3 871 384 870 2642 | 3 885 384 871 2643 | 3 872 385 411 2644 | 3 785 385 872 2645 | 3 873 874 578 2646 | 3 638 637 724 2647 | 3 606 395 416 2648 | 3 875 606 424 2649 | 3 876 398 877 2650 | 3 778 398 876 2651 | 3 880 408 493 2652 | 3 601 576 580 2653 | 3 345 410 69 2654 | 3 409 410 345 2655 | 3 580 576 577 2656 | 3 416 424 606 2657 | 3 418 412 878 2658 | 3 412 418 429 2659 | 3 872 878 412 2660 | 3 417 878 872 2661 | 3 687 419 570 2662 | 3 419 687 511 2663 | 3 892 879 891 2664 | 3 892 898 897 2665 | 3 886 431 91 2666 | 3 400 431 886 2667 | 3 880 474 881 2668 | 3 496 474 880 2669 | 3 581 577 564 2670 | 3 450 436 882 2671 | 3 564 577 573 2672 | 3 433 436 593 2673 | 3 883 893 454 2674 | 3 883 895 894 2675 | 3 493 820 505 2676 | 3 820 493 407 2677 | 3 885 884 553 2678 | 3 701 884 885 2679 | 3 448 440 886 2680 | 3 449 440 448 2681 | 3 578 572 568 2682 | 3 433 516 444 2683 | 3 452 887 450 2684 | 3 509 887 452 2685 | 3 568 572 888 2686 | 3 499 408 880 2687 | 3 802 457 456 2688 | 3 578 889 873 2689 | 3 571 889 834 2690 | 3 325 892 500 2691 | 3 834 889 568 2692 | 3 853 457 802 2693 | 3 426 461 793 2694 | 3 472 461 426 2695 | 3 443 890 501 2696 | 3 583 890 443 2697 | 3 892 480 500 2698 | 3 891 480 892 2699 | 3 294 894 896 2700 | 3 893 894 294 2701 | 3 895 896 894 2702 | 3 819 896 895 2703 | 3 897 879 892 2704 | 3 502 897 898 2705 | 3 565 899 503 2706 | 3 508 899 507 2707 | -------------------------------------------------------------------------------- /Example/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include "ofMain.h" 2 | #include "ofApp.h" 3 | 4 | //======================================================================== 5 | int main( ){ 6 | 7 | 8 | // ofSetupOpenGL(1024,768, OF_WINDOW); // <-------- setup the GL context 9 | ofGLFWWindowSettings settings; 10 | settings.setSize(1200, 800); 11 | settings.setGLVersion(3, 2); 12 | auto mainWindow = ofCreateWindow( settings ); 13 | 14 | auto app = make_shared(); 15 | ofRunApp( mainWindow, app ); 16 | ofRunMainLoop(); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /Example/src/ofApp.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | 3 | //-------------------------------------------------------------- 4 | void ofApp::setup() { 5 | 6 | ofSetBoxResolution( 30, 30, 30 ); 7 | 8 | cam.disableMouseInput(); 9 | cam.setDistance( 10 ); 10 | cam.setPosition(0, 0, -10 ); 11 | cam.lookAt( ofVec3f(0,0,0), ofVec3f(0,-1,0) ); 12 | cam.setNearClip(1); 13 | cam.setFarClip(150); 14 | 15 | cam.enableMouseInput(); 16 | 17 | // range of the shadow camera // 18 | shadow.setRange( 10, 150 ); 19 | shadow.setBias( 0.01 ); 20 | 21 | bunny.load( "lofi-bunny.ply" ); 22 | 23 | vector< ofMeshFace > faces = bunny.getUniqueFaces(); 24 | for( int i = 0; i < faces.size(); i++ ) { 25 | faces[i].setVertex( 0, faces[i].getVertex(0 )); 26 | faces[i].setNormal(0, faces[i].getFaceNormal() ); 27 | faces[i].setNormal(1, faces[i].getFaceNormal() ); 28 | faces[i].setNormal(2, faces[i].getFaceNormal() ); 29 | } 30 | bunny.setFromTriangles( faces ); 31 | bunny.smoothNormals( 60 ); 32 | cout << "Bunny normals = " << bunny.getNumNormals() << endl; 33 | } 34 | 35 | //-------------------------------------------------------------- 36 | void ofApp::update(){ 37 | 38 | shadow.setLightPosition( ofVec3f(cos(ofGetElapsedTimef()*0.6) * 10, -3, -25) ); 39 | shadow.setLightLookAt( ofVec3f(0,0,0), ofVec3f(0,-1,0) ); 40 | } 41 | 42 | //-------------------------------------------------------------- 43 | void ofApp::draw(){ 44 | 45 | shadow.beginDepthPass(); 46 | glEnable(GL_DEPTH_TEST); 47 | renderScene(); 48 | glDisable(GL_DEPTH_TEST); 49 | shadow.endDepthPass(); 50 | 51 | 52 | shadow.beginRenderPass( cam ); 53 | cam.begin(); 54 | glEnable(GL_DEPTH_TEST); 55 | renderScene(); 56 | glDisable(GL_DEPTH_TEST); 57 | cam.end(); 58 | shadow.endRenderPass(); 59 | 60 | } 61 | 62 | //-------------------------------------------------------------- 63 | void ofApp::renderScene() { 64 | 65 | ofBackground( 241,212,55 ); 66 | 67 | ofSetColor( 241,238,162 ); 68 | ofPushMatrix(); { 69 | ofRotateX( cos( ofGetElapsedTimef() * 2.3) * sin( ofGetElapsedTimef() ) * RAD_TO_DEG ); 70 | ofRotateY( sin( ofGetElapsedTimef() ) * RAD_TO_DEG ); 71 | ofDrawBox( 2, 2, 2 ); 72 | } ofPopMatrix(); 73 | 74 | ofSetColor( 241,221,113 ); 75 | ofDrawSphere( -4, sin( ofGetElapsedTimef() ) * 3, 2 ); 76 | ofSetColor( 183,241,195 ); 77 | ofDrawSphere( -4, sin( ofGetElapsedTimef() * 0.3 ) * 3, 5, 2 ); 78 | 79 | 80 | ofSetColor( 241,212,55 ); 81 | ofPushMatrix(); { 82 | ofTranslate(5, 0, 0 ); 83 | ofRotate(180, 1, 0, 0 ); 84 | ofScale( 0.015, 0.015, 0.015 ); 85 | bunny.draw(); 86 | } ofPopMatrix(); 87 | 88 | // floor // 89 | ofSetColor( 142,187,151 ); 90 | ofDrawBox( 0, 5, 0, 250, 2, 250 ); 91 | 92 | ofDrawBox(0, -8, 10, 80, 30, 2 ); 93 | 94 | 95 | 96 | // ofDrawSphere( light.getPosition(), 1 ); 97 | } 98 | 99 | //-------------------------------------------------------------- 100 | void ofApp::keyPressed(int key){ 101 | 102 | } 103 | 104 | //-------------------------------------------------------------- 105 | void ofApp::keyReleased(int key){ 106 | 107 | } 108 | 109 | //-------------------------------------------------------------- 110 | void ofApp::mouseMoved(int x, int y){ 111 | 112 | } 113 | 114 | //-------------------------------------------------------------- 115 | void ofApp::mouseDragged(int x, int y, int button){ 116 | 117 | } 118 | 119 | //-------------------------------------------------------------- 120 | void ofApp::mousePressed(int x, int y, int button){ 121 | 122 | } 123 | 124 | //-------------------------------------------------------------- 125 | void ofApp::mouseReleased(int x, int y, int button){ 126 | 127 | } 128 | 129 | //-------------------------------------------------------------- 130 | void ofApp::windowResized(int w, int h){ 131 | 132 | } 133 | 134 | //-------------------------------------------------------------- 135 | void ofApp::gotMessage(ofMessage msg){ 136 | 137 | } 138 | 139 | //-------------------------------------------------------------- 140 | void ofApp::dragEvent(ofDragInfo dragInfo){ 141 | 142 | } 143 | -------------------------------------------------------------------------------- /Example/src/ofApp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ofMain.h" 4 | #include "ofxShadowSimple.h" 5 | 6 | class ofApp : public ofBaseApp{ 7 | public: 8 | void setup(); 9 | void update(); 10 | void draw(); 11 | 12 | void renderScene(); 13 | 14 | void keyPressed(int key); 15 | void keyReleased(int key); 16 | void mouseMoved(int x, int y); 17 | void mouseDragged(int x, int y, int button); 18 | void mousePressed(int x, int y, int button); 19 | void mouseReleased(int x, int y, int button); 20 | void windowResized(int w, int h); 21 | void dragEvent(ofDragInfo dragInfo); 22 | void gotMessage(ofMessage msg); 23 | 24 | ofEasyCam cam; 25 | ofMesh bunny; 26 | 27 | ofxShadowSimple shadow; 28 | }; 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ofxShadowSimple 2 | Simple shadows in OpenFrameworks 3 | 4 | ![ofxShadowSimple](https://farm1.staticflickr.com/471/20313348311_592b0dd215_b.jpg) 5 | -------------------------------------------------------------------------------- /src/ofxShadowSimple.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // ofxShadowSimple.cpp 3 | // emptyExample 4 | // 5 | // Created by Nick Hardeman on 8/4/15. 6 | // 7 | 8 | #include "ofxShadowSimple.h" 9 | 10 | #define GLSL410(shader) "#version 410 \n" #shader 11 | 12 | //-------------------------------------------------------------- 13 | ofxShadowSimple::ofxShadowSimple() { 14 | // _width, _height, _depthBias, _intensity; 15 | _width.set( "u_shadowWidth", ofGetWidth()); 16 | _height.set("u_shadowHeight", ofGetHeight() ); 17 | _depthBias.set("u_shadowBias", 0.001, 0.00001, 0.01 ); 18 | _intensity.set("u_shadowIntensity", 0.7, 0.0, 1.0 ); 19 | _nearClip.set("ShadowNearClip", 1, 0, 1000 ); 20 | _farClip.set("ShadowFarClip", 1000, 0, 5000 ); 21 | 22 | mParams.setName("ofxShadowSimple"); 23 | mParams.add( _depthBias ); 24 | mParams.add( _intensity ); 25 | mParams.add( _nearClip ); 26 | mParams.add( _farClip ); 27 | 28 | // setWidth( ofGetWidth() ); 29 | // setHeight( ofGetHeight() ); 30 | // setRange( _nearClip, _farClip ); 31 | 32 | biasMatrix = ofMatrix4x4( 33 | 0.5, 0.0, 0.0, 0.0, 34 | 0.0, 0.5, 0.0, 0.0, 35 | 0.0, 0.0, 0.5, 0.0, 36 | 0.5, 0.5, 0.5, 1.0 37 | ); 38 | 39 | // setBias( 0.001 ); 40 | // setIntensity( 0.7 ); 41 | 42 | bTriedLoad = false; 43 | 44 | vertShaderStr = GLSL410( 45 | uniform mat4 modelMatrix; 46 | uniform mat4 modelViewProjectionMatrix; 47 | uniform mat4 modelViewMatrix; 48 | 49 | uniform mat4 u_shadowTransMatrix; 50 | 51 | in vec4 position; 52 | in vec4 color; 53 | 54 | out vec4 oVertInLightSpace; 55 | 56 | void main( void ) { 57 | vec4 vertInViewSpace = modelViewMatrix * position; 58 | oVertInLightSpace = u_shadowTransMatrix * vertInViewSpace; 59 | gl_Position = modelViewProjectionMatrix * position; 60 | } 61 | ); 62 | 63 | 64 | fragShaderStr = GLSL410( 65 | uniform sampler2D u_shadowMap; 66 | 67 | // make sure to send this from the vert to the frag // 68 | in vec4 oVertInLightSpace; 69 | 70 | uniform float u_shadowBias; 71 | uniform float u_shadowWidth; 72 | uniform float u_shadowHeight; 73 | 74 | uniform float u_shadowIntensity; 75 | 76 | // uniform mat4 u_shadowTransMatrix; 77 | 78 | // float a[5] = float[](3.4, 4.2, 5.0, 5.2, 1.1); 79 | vec2 poissonDisk[16] = vec2[]( 80 | vec2( -0.94201624, -0.39906216 ), 81 | vec2( 0.94558609, -0.76890725 ), 82 | vec2( -0.094184101, -0.92938870 ), 83 | vec2( 0.34495938, 0.29387760 ), 84 | vec2( -0.91588581, 0.45771432 ), 85 | vec2( -0.81544232, -0.87912464 ), 86 | vec2( -0.38277543, 0.27676845 ), 87 | vec2( 0.97484398, 0.75648379 ), 88 | vec2( 0.44323325, -0.97511554 ), 89 | vec2( 0.53742981, -0.47373420 ), 90 | vec2( -0.26496911, -0.41893023 ), 91 | vec2( 0.79197514, 0.19090188 ), 92 | vec2( -0.24188840, 0.99706507 ), 93 | vec2( -0.81409955, 0.91437590 ), 94 | vec2( 0.19984126, 0.78641367 ), 95 | vec2( 0.14383161, -0.14100790 ) 96 | ); 97 | 98 | float getShadow( vec4 aVertInLightSpace ) { 99 | 100 | // get projected shadow value 101 | vec3 tdepth = aVertInLightSpace.xyz / aVertInLightSpace.w; 102 | vec4 depth = vec4( tdepth.xyz, aVertInLightSpace.w ); 103 | 104 | depth.y = 1.0 - depth.y; 105 | 106 | float shadow = 1.0; 107 | vec2 UVCoords = depth.xy; 108 | 109 | // float stexel = texture2D( u_ShadowMap, depth.xy ).r; 110 | int numSamples = 16; 111 | float shadowDec = 1.0/float(numSamples); 112 | for( int i = 0; i < numSamples; i++ ) { 113 | float texel = texture( u_shadowMap, UVCoords.xy + (poissonDisk[i]/(u_shadowWidth*0.75)) ).r; 114 | if( texel < depth.z - u_shadowBias ) { 115 | shadow -= shadowDec * u_shadowIntensity; 116 | } 117 | } 118 | shadow = clamp( shadow, 0.0, 1.0 ); 119 | 120 | // are you behind the shadow view? // 121 | if( aVertInLightSpace.z < 1.0) { 122 | shadow = 1.0; 123 | } 124 | 125 | return shadow; 126 | } 127 | 128 | uniform vec4 globalColor; 129 | out vec4 outColor; 130 | 131 | void main() { 132 | outColor = globalColor; 133 | float shade = getShadow( oVertInLightSpace ); 134 | outColor.rgb = shade * globalColor.rgb; 135 | } 136 | 137 | ); 138 | } 139 | 140 | //-------------------------------------------------------------- 141 | void ofxShadowSimple::load( string aVertPath, string aFragPath ) { 142 | bTriedLoad = true; 143 | shader.load( aVertPath, aFragPath ); 144 | } 145 | 146 | //-------------------------------------------------------------- 147 | void ofxShadowSimple::setRange( float nearClip, float farClip ) { 148 | lightCam.setNearClip( nearClip ); 149 | lightCam.setFarClip( farClip ); 150 | _nearClip = nearClip; 151 | _farClip = farClip; 152 | } 153 | 154 | //-------------------------------------------------------------- 155 | void ofxShadowSimple::setLightPosition( ofVec3f aPos ) { 156 | lightCam.setPosition( aPos ); 157 | } 158 | 159 | //-------------------------------------------------------------- 160 | void ofxShadowSimple::setLightLookAt( ofVec3f aPos, ofVec3f upVector ) { 161 | lightCam.lookAt( aPos, upVector ); 162 | } 163 | 164 | //-------------------------------------------------------------- 165 | void ofxShadowSimple::beginDepthPass( bool aBWithCam ) { 166 | 167 | if( lightCam.getNearClip() != _nearClip || lightCam.getFarClip() != _farClip ) { 168 | setRange(_nearClip, _farClip ); 169 | } 170 | 171 | if( !shadowFbo.isAllocated() || shadowFbo.getWidth() != getWidth() || shadowFbo.getHeight() != getHeight() ) { 172 | allocateFbo(); 173 | } 174 | 175 | glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); 176 | 177 | shadowFbo.begin(); 178 | ofClear(255); 179 | if(aBWithCam) lightCam.begin(); 180 | 181 | 182 | // glEnable( GL_CULL_FACE ); // cull front faces - this helps with artifacts and shadows with exponential shadow mapping 183 | // glCullFace( GL_BACK ); 184 | 185 | 186 | } 187 | 188 | //-------------------------------------------------------------- 189 | void ofxShadowSimple::endDepthPass(bool aBWithCam) { 190 | if(aBWithCam) lightCam.end(); 191 | shadowFbo.end(); 192 | 193 | glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); 194 | 195 | // glCullFace( GL_BACK ); 196 | // glDisable( GL_CULL_FACE ); 197 | } 198 | 199 | //-------------------------------------------------------------- 200 | void ofxShadowSimple::beginRenderPass( ofCamera &aCam ) { 201 | 202 | if( !bTriedLoad ) { 203 | shader.setupShaderFromSource( GL_VERTEX_SHADER, vertShaderStr ); 204 | shader.setupShaderFromSource( GL_FRAGMENT_SHADER, fragShaderStr ); 205 | shader.linkProgram(); 206 | bTriedLoad = true; 207 | } 208 | 209 | shader.begin(); 210 | setShaderData( &shader, aCam, 3 ); 211 | 212 | // ofMatrix4x4 inverseCameraMatrix = ofMatrix4x4::getInverseOf( aCam.getModelViewMatrix() ); 213 | // ofMatrix4x4 shadowTransMatrix = inverseCameraMatrix * lightCam.getModelViewMatrix() * lightCam.getProjectionMatrix() * biasMatrix; 214 | // 215 | // shader.begin(); 216 | // shader.setUniformTexture( "u_shadowMap", shadowFbo.getDepthTexture(), 3 ); 217 | //// glm::vec3 camPosInViewSpace = glm::vec3(aCam.getPosition() * aCam.getModelViewMatrix()); 218 | // shader.setUniformMatrix4f("u_shadowTransMatrix", shadowTransMatrix ); 219 | //// ofVec3f lpos = glm::vec4(lightCam.getPosition(), 1.0) * aCam.getModelViewMatrix(); 220 | //// shader.setUniform3fv( "u_lightPosInWorldSpace", &lpos.getPtr()[0] ); 221 | //// ofVec3f lightInViewSpace = lightCam.getPosition() * aCam.getModelViewMatrix(); 222 | // 223 | // shader.setUniform1f(_width.getName(), getWidth() ); 224 | // shader.setUniform1f( _height.getName(), getHeight() ); 225 | // shader.setUniform1f(_depthBias.getName(), _depthBias ); 226 | // shader.setUniform1f(_intensity.getName(), _intensity ); 227 | } 228 | 229 | //-------------------------------------------------------------- 230 | void ofxShadowSimple::endRenderPass() { 231 | shader.end(); 232 | } 233 | 234 | //-------------------------------------------------------------- 235 | void ofxShadowSimple::setShaderData( ofShader* ashader, ofCamera& aCam, int atexLoc ) { 236 | ashader->setUniformTexture( "u_shadowMap", shadowFbo.getDepthTexture(), atexLoc ); 237 | ofMatrix4x4 inverseCameraMatrix = ofMatrix4x4::getInverseOf( aCam.getModelViewMatrix() ); 238 | ofMatrix4x4 shadowTransMatrix = inverseCameraMatrix * lightCam.getModelViewMatrix() * lightCam.getProjectionMatrix() * biasMatrix; 239 | ashader->setUniformMatrix4f("u_shadowTransMatrix", shadowTransMatrix ); 240 | 241 | ashader->setUniform1f(_width.getName(), getWidth() ); 242 | ashader->setUniform1f(_height.getName(), getHeight() ); 243 | ashader->setUniform1f(_depthBias.getName(), _depthBias ); 244 | ashader->setUniform1f(_intensity.getName(), _intensity ); 245 | ashader->setUniform3f("u_shadowLightPos", getLightCamera().getPosition() ); 246 | } 247 | 248 | //-------------------------------------------------------------- 249 | void ofxShadowSimple::allocateFbo() { 250 | ofFbo::Settings settings; 251 | settings.width = getWidth(); 252 | settings.height = getHeight(); 253 | settings.textureTarget = GL_TEXTURE_2D; 254 | settings.internalformat = GL_RGBA32F_ARB; 255 | settings.useDepth = true; 256 | settings.depthStencilAsTexture = true; 257 | settings.useStencil = true; 258 | // settings.depthStencilInternalFormat = GL_DEPTH_COMPONENT32; 259 | 260 | shadowFbo.allocate( settings ); 261 | } 262 | 263 | //-------------------------------------------------------------- 264 | void ofxShadowSimple::setWidth( float aWidth ) { 265 | int tw = aWidth; 266 | _width = tw; 267 | } 268 | 269 | //-------------------------------------------------------------- 270 | void ofxShadowSimple::setHeight( float aHeight ) { 271 | int th = aHeight; 272 | _height = th; 273 | } 274 | 275 | //-------------------------------------------------------------- 276 | float ofxShadowSimple::getWidth() { 277 | return _width; 278 | } 279 | 280 | //-------------------------------------------------------------- 281 | float ofxShadowSimple::getHeight() { 282 | return _height; 283 | } 284 | 285 | //-------------------------------------------------------------- 286 | void ofxShadowSimple::setBias( float aBias ) { 287 | _depthBias = aBias; 288 | } 289 | 290 | //-------------------------------------------------------------- 291 | void ofxShadowSimple::setIntensity( float aIntensity ) { 292 | _intensity = aIntensity; 293 | } 294 | 295 | //-------------------------------------------------------------- 296 | ofMatrix4x4 ofxShadowSimple::getShadowTransMatrix( ofCamera& acam ) { 297 | ofMatrix4x4 inverseCameraMatrix = ofMatrix4x4::getInverseOf( acam.getModelViewMatrix() ); 298 | ofMatrix4x4 shadowTransMatrix = inverseCameraMatrix * lightCam.getModelViewMatrix() * lightCam.getProjectionMatrix() * biasMatrix; 299 | return shadowTransMatrix; 300 | } 301 | 302 | 303 | 304 | 305 | 306 | -------------------------------------------------------------------------------- /src/ofxShadowSimple.h: -------------------------------------------------------------------------------- 1 | // 2 | // ofxShadowSimple.h 3 | // emptyExample 4 | // 5 | // Created by Nick Hardeman on 8/4/15. 6 | // 7 | 8 | #pragma once 9 | #include "ofMain.h" 10 | 11 | #define STRINGIFY(x) #x 12 | 13 | class ofxShadowSimple { 14 | public: 15 | 16 | ofxShadowSimple(); 17 | 18 | void load( string aVertPath, string aFragPath ); 19 | void setRange( float nearClip, float farClip ); 20 | void setLightPosition( ofVec3f aPos ); 21 | void setLightLookAt( ofVec3f aPos, ofVec3f upVector = ofVec3f(0, 1, 0) ); 22 | 23 | void beginDepthPass( bool aBWithCam = true ); 24 | void endDepthPass( bool aBWithCam = true ); 25 | 26 | void beginRenderPass( ofCamera& aCam ); 27 | void endRenderPass(); 28 | void setShaderData( ofShader* ashader, ofCamera& aCam, int atexLoc=2 ); 29 | 30 | void setWidth( float aWidth ); 31 | void setHeight( float aHeight ); 32 | float getWidth(); 33 | float getHeight(); 34 | 35 | // bias to reduce shadow acne // 36 | void setBias( float aBias ); 37 | // intensity of the shadows // 38 | void setIntensity( float aIntensity ); 39 | 40 | ofFbo& getFbo() { return shadowFbo; } 41 | ofCamera& getLightCamera() { return lightCam; } 42 | ofMatrix4x4 getShadowTransMatrix( ofCamera& acam ); 43 | ofShader& getShader() { return shader; } 44 | ofParameterGroup& getParams() { return mParams; } 45 | 46 | protected: 47 | 48 | string fragShaderStr, vertShaderStr; 49 | 50 | ofMatrix4x4 biasMatrix; 51 | 52 | void allocateFbo(); 53 | 54 | bool bTriedLoad = false; 55 | 56 | ofParameterGroup mParams; 57 | ofParameter _width, _height, _depthBias, _intensity; 58 | ofParameter _nearClip, _farClip; 59 | 60 | ofFbo shadowFbo; 61 | ofCamera lightCam; 62 | ofShader shader; 63 | }; 64 | --------------------------------------------------------------------------------