diff options
-rw-r--r-- | doc/contributions.txt | 1742 | ||||
-rw-r--r-- | indra/llmath/llvolume.cpp | 2 | ||||
-rw-r--r-- | indra/llui/CMakeLists.txt | 4 | ||||
-rwxr-xr-x | indra/newview/app_settings/settings.xml | 14 | ||||
-rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl | 3 | ||||
-rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl | 35 | ||||
-rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl | 2 | ||||
-rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/sunLightSSAOF.glsl | 74 | ||||
-rw-r--r-- | indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl | 3 | ||||
-rw-r--r-- | indra/newview/app_settings/shaders/class2/deferred/blurLightF.glsl | 83 | ||||
-rw-r--r-- | indra/newview/app_settings/shaders/class2/deferred/blurLightV.glsl | 19 | ||||
-rw-r--r-- | indra/newview/app_settings/shaders/class2/deferred/sunLightSSAOF.glsl | 76 | ||||
-rw-r--r-- | indra/newview/llfloatersearch.cpp | 14 | ||||
-rw-r--r-- | indra/newview/llfloatersearch.h | 2 |
14 files changed, 977 insertions, 1096 deletions
diff --git a/doc/contributions.txt b/doc/contributions.txt index 337a3da6b8..81494439cc 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -1,870 +1,872 @@ -Linden Lab would like to acknowledge source code contributions from the
-following residents. The Second Life resident name is given below,
-along with the issue identifier corresponding to the patches we've
-received from them. To see more about these contributions, visit the
-browsable version: http://wiki.secondlife.com/wiki/Source_contributions
-
-Able Whitman
- VWR-650
- VWR-1460
- VWR-1691
- VWR-1735
- VWR-1813
-Adam Marker
- VWR-2755
-Agathos Frascati
- CT-246
- CT-317
- CT-352
-Aimee Trescothick
- SNOW-227
- SNOW-570
- SNOW-572
- SNOW-575
- VWR-3321
- VWR-3336
- VWR-3903
- VWR-4083
- VWR-4106
- VWR-5308
- VWR-6348
- VWR-6358
- VWR-6360
- VWR-6432
- VWR-6550
- VWR-6583
- VWR-6482
- VWR-6918
- VWR-7109
- VWR-7383
- VWR-7800
- VWR-8008
- VWR-8341
- VWR-8430
- VWR-8482
- VWR-9255
- VWR-10717
- VWR-10990
- VWR-11100
- VWR-11111
- VWR-11844
- VWR-12631
- VWR-12696
- VWR-12748
- VWR-13221
- VWR-14087
- VWR-14267
- VWR-14278
- VWR-14711
- VWR-14712
- VWR-15454
-Alejandro Rosenthal
- VWR-1184
-Aleric Inglewood
- SNOW-240
- SNOW-522
- SNOW-626
- SNOW-756
- SNOW-764
- SNOW-800
- VWR-10001
- VWR-10579
- VWR-10759
- VWR-10837
- VWR-12691
- VWR-12984
- VWR-13040
- VWR-13996
- VWR-14426
- VWR-24247
- VWR-24251
- VWR-24252
- VWR-24254
- VWR-24261
- VWR-24315
- VWR-24317
- VWR-24320
- VWR-24321
- VWR-24337
- VWR-24354
- VWR-24366
- VWR-24519
- VWR-24520
- SNOW-84
- SNOW-477
- SNOW-744
- SNOW-766
- STORM-163
- STORM-955
- STORM-960
-Ales Beaumont
- VWR-9352
- SNOW-240
-Alexandrea Fride
- STORM-255
- STORM-960
-Alissa Sabre
- VWR-81
- VWR-83
- VWR-109
- VWR-157
- VWR-171
- VWR-177
- VWR-213
- VWR-250
- VWR-251
- VWR-286
- VWR-414
- VWR-415
- VWR-459
- VWR-606
- VWR-652
- VWR-738
- VWR-1109
- VWR-1351
- VWR-1353
- VWR-1410
- VWR-1843
- VWR-2116
- VWR-2826
- VWR-3290
- VWR-3410
- VWR-3857
- VWR-4010
- VWR-5575
- VWR-5717
- VWR-5929
- VWR-6384
- VWR-6385
- VWR-6386
- VWR-6430
- VWR-6858
- VWR-6668
- VWR-7086
- VWR-7087
- VWR-7153
- VWR-7168
- VWR-9190
- VWR-10728
- VWR-11172
- VWR-12569
- VWR-12617
- VWR-12620
- VWR-12789
- SNOW-322
-Angus Boyd
- VWR-592
-Ann Congrejo
- CT-193
-Ardy Lay
- VWR-19499
- VWR-24917
-Argent Stonecutter
- VWR-68
-Armin Weatherwax
- VWR-8436
-Asuka Neely
- VWR-3434
- VWR-8179
-Balp Allen
- VWR-4157
-Be Holder
- SNOW-322
- SNOW-397
-Benja Kepler
- VWR-746
-Biancaluce Robbiani
- CT-225
- CT-226
- CT-227
- CT-228
- CT-229
- CT-230
- CT-231
- CT-321
- CT-352
-Blakar Ogre
- VWR-418
- VWR-881
- VWR-983
- VWR-1612
- VWR-1613
- VWR-2164
-blino Nakamura
- VWR-17
-Boroondas Gupte
- OPEN-29
- CTS-323
- SNOW-278
- SNOW-503
- SNOW-510
- SNOW-527
- SNOW-610
- SNOW-624
- SNOW-737
- STORM-318
- VWR-233
- VWR-20583
- VWR-20891
- VWR-23455
- WEB-262
-Bulli Schumann
- CT-218
- CT-219
- CT-220
- CT-221
- CT-222
- CT-223
- CT-224
- CT-319
- CT-350
- CT-352
-bushing Spatula
- VWR-119
- VWR-424
-Carjay McGinnis
- VWR-3737
- VWR-4070
- VWR-4212
- VWR-6154
- VWR-9400
- VWR-9620
-Catherine Pfeffer
- VWR-1282
- VWR-8624
- VWR-10854
-Celierra Darling
- VWR-1274
- VWR-6975
-Coaldust Numbers
- VWR-1095
-Cron Stardust
- VWR-10579
- VWR-25120
-Cypren Christenson
- STORM-417
-Dale Glass
- VWR-120
- VWR-560
- VWR-2502
- VWR-1358
- VWR-2041
-Drew Dri
- VWR-19683
-Drewan Keats
- VWR-28
- VWR-248
- VWR-412
- VWR-638
- VWR-660
-Dylan Haskell
- VWR-72
-Dzonatas Sol
- VWR-187
- VWR-198
- VWR-777
- VWR-878
- VWR-962
- VWR-975
- VWR-1061
- VWR-1062
- VWR-1704
- VWR-1705
- VWR-1729
- VWR-1812
-Eddi Decosta
- SNOW-586
-Eddy Stryker
- VWR-15
- VWR-23
- VWR-1468
- VWR-1475
-EponymousDylan Ra
- VWR-1289
- VWR-1465
-Eva Nowicka
- CT-324
- CT-352
-Farallon Greyskin
- VWR-2036
-Feep Larsson
- VWR-447
- VWR-1314
- VWR-4444
-Flemming Congrejo
- CT-193
- CT-318
-Fluf Fredriksson
- VWR-3450
-Fremont Cunningham
- VWR-1147
-Geneko Nemeth
- CT-117
- VWR-11069
-Gigs Taggart
- SVC-493
- VWR-6
- VWR-38
- VWR-71
- VWR-101
- VWR-166
- VWR-234
- VWR-315
- VWR-326
- VWR-442
- VWR-493
- VWR-1203
- VWR-1217
- VWR-1434
- VWR-1987
- VWR-2065
- VWR-2491
- VWR-2502
- VWR-2331
- VWR-5308
- VWR-8781
- VWR-8783
-Ginko Bayliss
- VWR-4
-Grazer Kline
- VWR-1092
- VWR-2113
-Gudmund Shepherd
- VWR-1594
- VWR-1873
-Hamncheese Omlet
- VWR-333
-HappySmurf Papp
- CT-193
-Henri Beauchamp
- VWR-1320
- VWR-1406
- VWR-4157
-Hikkoshi Sakai
- VWR-429
-Hiro Sommambulist
- VWR-66
- VWR-67
- VWR-97
- VWR-100
- VWR-105
- VWR-118
- VWR-132
- VWR-136
- VWR-143
-Hoze Menges
- VWR-255
-Ian Kas
- VWR-8780 (Russian localization)
- [NO JIRA] (Ukranian localization)
- CT-322
- CT-325
-Irene Muni
- CT-324
- CT-352
-Iskar Ariantho
- VWR-1223
- VWR-11759
-Jacek Antonelli
- SNOW-388
- VWR-165
- VWR-188
- VWR-427
- VWR-597
- VWR-2054
- VWR-2448
- VWR-2896
- VWR-2947
- VWR-2948
- VWR-3605
- VWR-8617
-JB Kraft
- VWR-5283
- VWR-7802
-Joghert LeSabre
- VWR-64
-Jonathan Yap
- STORM-435
- STORM-523
- STORM-596
- STORM-615
- STORM-616
- STORM-643
- STORM-679
- STORM-723
- STORM-726
- STORM-737
- STORM-785
- STORM-812
- STORM-829
- STORM-844
- STORM-953
- STORM-954
- STORM-960
- STORM-869
- STORM-974
- STORM-975
- STORM-977
- STORM-979
- STORM-980
- STORM-1040
- VWR-17801
- VWR-24347
- STORM-975
- STORM-990
- STORM-1020
-Kage Pixel
- VWR-11
-Ken March
- CT-245
-Kerutsen Sellery
- VWR-1350
-Khyota Wulluf
- VWR-2085
- VWR-8885
- VWR-9256
- VWR-9966
-Kitty Barnett
- VWR-19699
- STORM-288
- STORM-799
- STORM-800
- STORM-1001
- VWR-24217
-Kunnis Basiat
- VWR-82
- VWR-102
-Latif Khalifa
- VWR-5370
-Lisa Lowe
- CT-218
- CT-219
- CT-220
- CT-221
- CT-222
- CT-223
- CT-224
- CT-319
-Lockhart Cordoso
- VWR-108
-maciek marksman
- CT-86
-Magnus Balczo
- CT-138
-Malwina Dollinger
- CT-138
-march Korda
- SVC-1020
-Marine Kelley
- STORM-281
-Matthew Dowd
- VWR-1344
- VWR-1651
- VWR-1736
- VWR-1737
- VWR-1761
- VWR-2681
-McCabe Maxsted
- SNOW-387
- VWR-1318
- VWR-4065
- VWR-4826
- VWR-6518
- VWR-7827
- VWR-7877
- VWR-7893
- VWR-8080
- VWR-8454
- VWR-8689
- VWR-9007
-Michelle2 Zenovka
- STORM-477
- VWR-2652
- VWR-2662
- VWR-2834
- VWR-3749
- VWR-4022
- VWR-4331
- VWR-4506
- VWR-4981
- VWR-5082
- VWR-5659
- VWR-7831
- VWR-8885
- VWR-8889
- VWR-8310
- VWR-9499
-Mm Alder
- SNOW-376
- VWR-197
- VWR-3777
- VWR-4232
- VWR-4794
- VWR-13578
-Mr Greggan
- VWR-445
-Nicholaz Beresford
- VWR-132
- VWR-176
- VWR-193
- VWR-349
- VWR-353
- VWR-364
- VWR-374
- VWR-546
- VWR-691
- VWR-727
- VWR-793
- VWR-794
- VWR-802
- VWR-803
- VWR-804
- VWR-805
- VWR-807
- VWR-808
- VWR-809
- VWR-810
- VWR-823
- VWR-849
- VWR-856
- VWR-865
- VWR-869
- VWR-870
- VWR-871
- VWR-873
- VWR-908
- VWR-966
- VWR-1105
- VWR-1221
- VWR-1230
- VWR-1270
- VWR-1294
- VWR-1296
- VWR-1354
- VWR-1410
- VWR-1418
- VWR-1436
- VWR-1453
- VWR-1455
- VWR-1470
- VWR-1471
- VWR-1566
- VWR-1578
- VWR-1626
- VWR-1646
- VWR-1655
- VWR-1698
- VWR-1706
- VWR-1721
- VWR-1723
- VWR-1732
- VWR-1754
- VWR-1769
- VWR-1808
- VWR-1826
- VWR-1861
- VWR-1872
- VWR-1968
- VWR-2046
- VWR-2142
- VWR-2152
- VWR-2614
- VWR-2411
- VWR-2412
- VWR-2682
- VWR-2684
-Nounouch Hapmouche
- VWR-238
-Patric Mills
- VWR-2645
-Paul Churchill
- VWR-20
- VWR-493
- VWR-749
- VWR-1567
- VWR-1647
- VWR-1880
- VWR-2072
-Paula Innis
- VWR-30
- VWR-293
- VWR-1049
- VWR-1562
-Peekay Semyorka
- VWR-7
- VWR-19
- VWR-49
- VWR-79
-Peter Lameth
- VWR-7331
-Pf Shan
- CT-225
- CT-226
- CT-227
- CT-228
- CT-229
- CT-230
- CT-231
- CT-321
- SNOW-422
-princess niven
- VWR-5733
- CT-85
- CT-320
- CT-352
-Renault Clio
- VWR-1976
-resu Ampan
- SNOW-93
-Ringo Tuxing
- CT-225
- CT-226
- CT-227
- CT-228
- CT-229
- CT-230
- CT-231
- CT-321
-Robin Cornelius
- SNOW-108
- SNOW-204
- SNOW-287
- SNOW-484
- SNOW-504
- SNOW-506
- SNOW-507
- SNOW-511
- SNOW-512
- SNOW-514
- SNOW-520
- SNOW-585
- SNOW-599
- SNOW-747
- STORM-422
- STORM-960
- VWR-2488
- VWR-9557
- VWR-10579
- VWR-11128
- VWR-12533
- VWR-12587
- VWR-12758
- VWR-12763
- VWR-12995
- VWR-20911
-Ryozu Kojima
- VWR-53
- VWR-287
-Salahzar Stenvaag
- CT-225
- CT-226
- CT-227
- CT-228
- CT-229
- CT-230
- CT-231
- CT-321
-Sammy Frederix
- VWR-6186
-Satomi Ahn
- STORM-501
- STORM-229
-Scrippy Scofield
- VWR-3748
-Seg Baphomet
- VWR-1475
- VWR-1525
- VWR-1585
- VWR-1586
- VWR-2662
- VWR-3206
- VWR-2488
-Sergen Davies
- CT-225
- CT-226
- CT-227
- CT-228
- CT-229
- CT-230
- CT-231
- CT-321
-Shawn Kaufmat
- SNOW-240
-Siana Gearz
- STORM-960
-SignpostMarv Martin
- VWR-153
- VWR-154
- VWR-155
- VWR-218
- VWR-373
- VWR-8357
-Simon Nolan
- VWR-409
-SpacedOut Frye
- VWR-34
- VWR-45
- VWR-57
- VWR-94
- VWR-113
- VWR-121
- VWR-123
- VWR-130
- VWR-1823
-Sporked Friis
- VWR-4903
-Stevex Janus
- VWR-1182
-Still Defiant
- VWR-207
- VWR-227
- VWR-446
-Strife Onizuka
- SVC-9
- VWR-14
- VWR-74
- VWR-85
- VWR-148
- WEB-164
- VWR-183
- VWR-2265
- VWR-4111
- SNOW-691
-Tayra Dagostino
- SNOW-517
- SNOW-543
- VWR-13947
-TBBle Kurosawa
- VWR-938
- VWR-941
- VWR-942
- VWR-944
- VWR-945
- SNOW-543
- VWR-1891
- VWR-1892
-Teardrops Fall
- VWR-5366
-Techwolf Lupindo
- SNOW-92
- SNOW-592
- SNOW-649
- SNOW-650
- SNOW-651
- SNOW-654
- SNOW-687
- SNOW-680
- SNOW-681
- SNOW-685
- SNOW-690
- SNOW-746
- VWR-12385
- VWR-20893
-tenebrous pau
- VWR-247
-Tharax Ferraris
- VWR-605
-Thickbrick Sleaford
- SNOW-207
- SNOW-390
- SNOW-421
- SNOW-462
- SNOW-586
- SNOW-592
- SNOW-635
- SNOW-743
- VWR-7109
- VWR-9287
- VWR-13483
- VWR-13947
- VWR-24420
-Thraxis Epsilon
- SVC-371
- VWR-383
-tiamat bingyi
- CT-246
-Tofu Buzzard
- STORM-546
-TraductoresAnonimos Alter
- CT-324
-Tue Torok
- CT-68
- CT-69
- CT-70
- CT-72
- CT-73
- CT-74
-Twisted Laws
- SNOW-352
- STORM-466
- STORM-467
- STORM-844
- STORM-643
- STORM-954
-Vadim Bigbear
- VWR-2681
-Vector Hastings
- VWR-8726
-Vixen Heron
- VWR-2710
- CT-88
-Whoops Babii
- VWR-631
- VWR-1640
- VWR-3340
- SNOW-667
- VWR-4800
- VWR-4802
- VWR-4804
- VWR-4805
- VWR-4806
- VWR-4808
- VWR-4809
- VWR-4811
- VWR-4815
- VWR-4816
- VWR-4818
- VWR-5659
- VWR-8291
- VWR-8292
- VWR-8293
- VWR-8294
- VWR-8295
- VWR-8296
- VWR-8297
- VWR-8298
-Wilton Lundquist
- VWR-7682
-WolfPup Lowenhar
- SNOW-622
- SNOW-772
- STORM-102
- STORM-103
- STORM-143
- STORM-236
- STORM-255
- STORM-256
- STORM-288
- STORM-535
- STORM-544
- STORM-654
- STORM-674
- STORM-776
- STORM-825
- VWR-20741
- VWR-20933
-Zai Lynch
- VWR-19505
-Zarkonnen Decosta
- VWR-253
-Zi Ree
- VWR-423
- VWR-671
- VWR-682
- VWR-684
- VWR-9127
- VWR-1140
-Zipherius Turas
- VWR-76
- VWR-77
-
+Linden Lab would like to acknowledge source code contributions from the +following residents. The Second Life resident name is given below, +along with the issue identifier corresponding to the patches we've +received from them. To see more about these contributions, visit the +browsable version: http://wiki.secondlife.com/wiki/Source_contributions + +Able Whitman + VWR-650 + VWR-1460 + VWR-1691 + VWR-1735 + VWR-1813 +Adam Marker + VWR-2755 +Agathos Frascati + CT-246 + CT-317 + CT-352 +Aimee Trescothick + SNOW-227 + SNOW-570 + SNOW-572 + SNOW-575 + VWR-3321 + VWR-3336 + VWR-3903 + VWR-4083 + VWR-4106 + VWR-5308 + VWR-6348 + VWR-6358 + VWR-6360 + VWR-6432 + VWR-6550 + VWR-6583 + VWR-6482 + VWR-6918 + VWR-7109 + VWR-7383 + VWR-7800 + VWR-8008 + VWR-8341 + VWR-8430 + VWR-8482 + VWR-9255 + VWR-10717 + VWR-10990 + VWR-11100 + VWR-11111 + VWR-11844 + VWR-12631 + VWR-12696 + VWR-12748 + VWR-13221 + VWR-14087 + VWR-14267 + VWR-14278 + VWR-14711 + VWR-14712 + VWR-15454 +Alejandro Rosenthal + VWR-1184 +Aleric Inglewood + SNOW-240 + SNOW-522 + SNOW-626 + SNOW-756 + SNOW-764 + SNOW-800 + VWR-10001 + VWR-10579 + VWR-10759 + VWR-10837 + VWR-12691 + VWR-12984 + VWR-13040 + VWR-13996 + VWR-14426 + VWR-24247 + VWR-24251 + VWR-24252 + VWR-24254 + VWR-24261 + VWR-24315 + VWR-24317 + VWR-24320 + VWR-24321 + VWR-24337 + VWR-24354 + VWR-24366 + VWR-24519 + VWR-24520 + SNOW-84 + SNOW-477 + SNOW-744 + SNOW-766 + STORM-163 + STORM-955 + STORM-960 +Ales Beaumont + VWR-9352 + SNOW-240 +Alexandrea Fride + STORM-255 + STORM-960 +Alissa Sabre + VWR-81 + VWR-83 + VWR-109 + VWR-157 + VWR-171 + VWR-177 + VWR-213 + VWR-250 + VWR-251 + VWR-286 + VWR-414 + VWR-415 + VWR-459 + VWR-606 + VWR-652 + VWR-738 + VWR-1109 + VWR-1351 + VWR-1353 + VWR-1410 + VWR-1843 + VWR-2116 + VWR-2826 + VWR-3290 + VWR-3410 + VWR-3857 + VWR-4010 + VWR-5575 + VWR-5717 + VWR-5929 + VWR-6384 + VWR-6385 + VWR-6386 + VWR-6430 + VWR-6858 + VWR-6668 + VWR-7086 + VWR-7087 + VWR-7153 + VWR-7168 + VWR-9190 + VWR-10728 + VWR-11172 + VWR-12569 + VWR-12617 + VWR-12620 + VWR-12789 + SNOW-322 +Angus Boyd + VWR-592 +Ann Congrejo + CT-193 +Ardy Lay + VWR-19499 + VWR-24917 +Argent Stonecutter + VWR-68 +Armin Weatherwax + VWR-8436 +Asuka Neely + VWR-3434 + VWR-8179 +Balp Allen + VWR-4157 +Be Holder + SNOW-322 + SNOW-397 +Benja Kepler + VWR-746 +Biancaluce Robbiani + CT-225 + CT-226 + CT-227 + CT-228 + CT-229 + CT-230 + CT-231 + CT-321 + CT-352 +Blakar Ogre + VWR-418 + VWR-881 + VWR-983 + VWR-1612 + VWR-1613 + VWR-2164 +blino Nakamura + VWR-17 +Boroondas Gupte + OPEN-29 + CTS-323 + SNOW-278 + SNOW-503 + SNOW-510 + SNOW-527 + SNOW-610 + SNOW-624 + SNOW-737 + STORM-318 + VWR-233 + VWR-20583 + VWR-20891 + VWR-23455 + WEB-262 +Bulli Schumann + CT-218 + CT-219 + CT-220 + CT-221 + CT-222 + CT-223 + CT-224 + CT-319 + CT-350 + CT-352 +bushing Spatula + VWR-119 + VWR-424 +Carjay McGinnis + VWR-3737 + VWR-4070 + VWR-4212 + VWR-6154 + VWR-9400 + VWR-9620 +Catherine Pfeffer + VWR-1282 + VWR-8624 + VWR-10854 +Celierra Darling + VWR-1274 + VWR-6975 +Coaldust Numbers + VWR-1095 +Cron Stardust + VWR-10579 + VWR-25120 +Cypren Christenson + STORM-417 +Dale Glass + VWR-120 + VWR-560 + VWR-2502 + VWR-1358 + VWR-2041 +Drew Dri + VWR-19683 +Drewan Keats + VWR-28 + VWR-248 + VWR-412 + VWR-638 + VWR-660 +Dylan Haskell + VWR-72 +Dzonatas Sol + VWR-187 + VWR-198 + VWR-777 + VWR-878 + VWR-962 + VWR-975 + VWR-1061 + VWR-1062 + VWR-1704 + VWR-1705 + VWR-1729 + VWR-1812 +Eddi Decosta + SNOW-586 +Eddy Stryker + VWR-15 + VWR-23 + VWR-1468 + VWR-1475 +EponymousDylan Ra + VWR-1289 + VWR-1465 +Eva Nowicka + CT-324 + CT-352 +Farallon Greyskin + VWR-2036 +Feep Larsson + VWR-447 + VWR-1314 + VWR-4444 +Flemming Congrejo + CT-193 + CT-318 +Fluf Fredriksson + VWR-3450 +Fremont Cunningham + VWR-1147 +Geneko Nemeth + CT-117 + VWR-11069 +Gigs Taggart + SVC-493 + VWR-6 + VWR-38 + VWR-71 + VWR-101 + VWR-166 + VWR-234 + VWR-315 + VWR-326 + VWR-442 + VWR-493 + VWR-1203 + VWR-1217 + VWR-1434 + VWR-1987 + VWR-2065 + VWR-2491 + VWR-2502 + VWR-2331 + VWR-5308 + VWR-8781 + VWR-8783 +Ginko Bayliss + VWR-4 +Grazer Kline + VWR-1092 + VWR-2113 +Gudmund Shepherd + VWR-1594 + VWR-1873 +Hamncheese Omlet + VWR-333 +HappySmurf Papp + CT-193 +Henri Beauchamp + VWR-1320 + VWR-1406 + VWR-4157 +Hikkoshi Sakai + VWR-429 +Hiro Sommambulist + VWR-66 + VWR-67 + VWR-97 + VWR-100 + VWR-105 + VWR-118 + VWR-132 + VWR-136 + VWR-143 +Hoze Menges + VWR-255 +Ian Kas + VWR-8780 (Russian localization) + [NO JIRA] (Ukranian localization) + CT-322 + CT-325 +Irene Muni + CT-324 + CT-352 +Iskar Ariantho + VWR-1223 + VWR-11759 +Jacek Antonelli + SNOW-388 + VWR-165 + VWR-188 + VWR-427 + VWR-597 + VWR-2054 + VWR-2448 + VWR-2896 + VWR-2947 + VWR-2948 + VWR-3605 + VWR-8617 +JB Kraft + VWR-5283 + VWR-7802 +Joghert LeSabre + VWR-64 +Jonathan Yap + STORM-435 + STORM-523 + STORM-596 + STORM-615 + STORM-616 + STORM-643 + STORM-679 + STORM-723 + STORM-726 + STORM-737 + STORM-785 + STORM-812 + STORM-829 + STORM-844 + STORM-953 + STORM-954 + STORM-960 + STORM-869 + STORM-974 + STORM-975 + STORM-977 + STORM-979 + STORM-980 + STORM-1040 + VWR-17801 + VWR-24347 + STORM-975 + STORM-990 + STORM-1020 +Kage Pixel + VWR-11 +Ken March + CT-245 +Kerutsen Sellery + VWR-1350 +Khyota Wulluf + VWR-2085 + VWR-8885 + VWR-9256 + VWR-9966 +Kitty Barnett + VWR-19699 + STORM-288 + STORM-799 + STORM-800 + STORM-1001 + VWR-24217 +Kunnis Basiat + VWR-82 + VWR-102 +Latif Khalifa + VWR-5370 +Lisa Lowe + CT-218 + CT-219 + CT-220 + CT-221 + CT-222 + CT-223 + CT-224 + CT-319 +Lockhart Cordoso + VWR-108 +maciek marksman + CT-86 +Magnus Balczo + CT-138 +Malwina Dollinger + CT-138 +march Korda + SVC-1020 +Marine Kelley + STORM-281 +Matthew Dowd + VWR-1344 + VWR-1651 + VWR-1736 + VWR-1737 + VWR-1761 + VWR-2681 +McCabe Maxsted + SNOW-387 + VWR-1318 + VWR-4065 + VWR-4826 + VWR-6518 + VWR-7827 + VWR-7877 + VWR-7893 + VWR-8080 + VWR-8454 + VWR-8689 + VWR-9007 +Michelle2 Zenovka + STORM-477 + VWR-2652 + VWR-2662 + VWR-2834 + VWR-3749 + VWR-4022 + VWR-4331 + VWR-4506 + VWR-4981 + VWR-5082 + VWR-5659 + VWR-7831 + VWR-8885 + VWR-8889 + VWR-8310 + VWR-9499 +Mm Alder + SNOW-376 + VWR-197 + VWR-3777 + VWR-4232 + VWR-4794 + VWR-13578 +Mr Greggan + VWR-445 +Nicholaz Beresford + VWR-132 + VWR-176 + VWR-193 + VWR-349 + VWR-353 + VWR-364 + VWR-374 + VWR-546 + VWR-691 + VWR-727 + VWR-793 + VWR-794 + VWR-802 + VWR-803 + VWR-804 + VWR-805 + VWR-807 + VWR-808 + VWR-809 + VWR-810 + VWR-823 + VWR-849 + VWR-856 + VWR-865 + VWR-869 + VWR-870 + VWR-871 + VWR-873 + VWR-908 + VWR-966 + VWR-1105 + VWR-1221 + VWR-1230 + VWR-1270 + VWR-1294 + VWR-1296 + VWR-1354 + VWR-1410 + VWR-1418 + VWR-1436 + VWR-1453 + VWR-1455 + VWR-1470 + VWR-1471 + VWR-1566 + VWR-1578 + VWR-1626 + VWR-1646 + VWR-1655 + VWR-1698 + VWR-1706 + VWR-1721 + VWR-1723 + VWR-1732 + VWR-1754 + VWR-1769 + VWR-1808 + VWR-1826 + VWR-1861 + VWR-1872 + VWR-1968 + VWR-2046 + VWR-2142 + VWR-2152 + VWR-2614 + VWR-2411 + VWR-2412 + VWR-2682 + VWR-2684 +Nounouch Hapmouche + VWR-238 +Patric Mills + VWR-2645 +Paul Churchill + VWR-20 + VWR-493 + VWR-749 + VWR-1567 + VWR-1647 + VWR-1880 + VWR-2072 +Paula Innis + VWR-30 + VWR-293 + VWR-1049 + VWR-1562 +Peekay Semyorka + VWR-7 + VWR-19 + VWR-49 + VWR-79 +Peter Lameth + VWR-7331 +Pf Shan + CT-225 + CT-226 + CT-227 + CT-228 + CT-229 + CT-230 + CT-231 + CT-321 + SNOW-422 +princess niven + VWR-5733 + CT-85 + CT-320 + CT-352 +Renault Clio + VWR-1976 +resu Ampan + SNOW-93 +Ringo Tuxing + CT-225 + CT-226 + CT-227 + CT-228 + CT-229 + CT-230 + CT-231 + CT-321 +Robin Cornelius + SNOW-108 + SNOW-204 + SNOW-287 + SNOW-484 + SNOW-504 + SNOW-506 + SNOW-507 + SNOW-511 + SNOW-512 + SNOW-514 + SNOW-520 + SNOW-585 + SNOW-599 + SNOW-747 + STORM-422 + STORM-960 + VWR-2488 + VWR-9557 + VWR-10579 + VWR-11128 + VWR-12533 + VWR-12587 + VWR-12758 + VWR-12763 + VWR-12995 + VWR-20911 +Ryozu Kojima + VWR-53 + VWR-287 +Salahzar Stenvaag + CT-225 + CT-226 + CT-227 + CT-228 + CT-229 + CT-230 + CT-231 + CT-321 +Sammy Frederix + VWR-6186 +Satomi Ahn + STORM-501 + STORM-229 +Scrippy Scofield + VWR-3748 +Seg Baphomet + VWR-1475 + VWR-1525 + VWR-1585 + VWR-1586 + VWR-2662 + VWR-3206 + VWR-2488 +Sergen Davies + CT-225 + CT-226 + CT-227 + CT-228 + CT-229 + CT-230 + CT-231 + CT-321 +Shawn Kaufmat + SNOW-240 +Siana Gearz + STORM-960 +SignpostMarv Martin + VWR-153 + VWR-154 + VWR-155 + VWR-218 + VWR-373 + VWR-8357 +Simon Nolan + VWR-409 +SpacedOut Frye + VWR-34 + VWR-45 + VWR-57 + VWR-94 + VWR-113 + VWR-121 + VWR-123 + VWR-130 + VWR-1823 +Sporked Friis + VWR-4903 +Stevex Janus + VWR-1182 +Still Defiant + VWR-207 + VWR-227 + VWR-446 +Strife Onizuka + SVC-9 + VWR-14 + VWR-74 + VWR-85 + VWR-148 + WEB-164 + VWR-183 + VWR-2265 + VWR-4111 + SNOW-691 +Tayra Dagostino + SNOW-517 + SNOW-543 + VWR-13947 +TBBle Kurosawa + VWR-938 + VWR-941 + VWR-942 + VWR-944 + VWR-945 + SNOW-543 + VWR-1891 + VWR-1892 +Teardrops Fall + VWR-5366 +Techwolf Lupindo + SNOW-92 + SNOW-592 + SNOW-649 + SNOW-650 + SNOW-651 + SNOW-654 + SNOW-687 + SNOW-680 + SNOW-681 + SNOW-685 + SNOW-690 + SNOW-746 + VWR-12385 + VWR-20893 +tenebrous pau + VWR-247 +Tharax Ferraris + VWR-605 +Thickbrick Sleaford + SNOW-207 + SNOW-390 + SNOW-421 + SNOW-462 + SNOW-586 + SNOW-592 + SNOW-635 + SNOW-743 + VWR-7109 + VWR-9287 + VWR-13483 + VWR-13947 + VWR-24420 +Thraxis Epsilon + SVC-371 + VWR-383 +tiamat bingyi + CT-246 +Tofu Buzzard + CTS-411 + STORM-546 + VWR-24509 +TraductoresAnonimos Alter + CT-324 +Tue Torok + CT-68 + CT-69 + CT-70 + CT-72 + CT-73 + CT-74 +Twisted Laws + SNOW-352 + STORM-466 + STORM-467 + STORM-844 + STORM-643 + STORM-954 +Vadim Bigbear + VWR-2681 +Vector Hastings + VWR-8726 +Vixen Heron + VWR-2710 + CT-88 +Whoops Babii + VWR-631 + VWR-1640 + VWR-3340 + SNOW-667 + VWR-4800 + VWR-4802 + VWR-4804 + VWR-4805 + VWR-4806 + VWR-4808 + VWR-4809 + VWR-4811 + VWR-4815 + VWR-4816 + VWR-4818 + VWR-5659 + VWR-8291 + VWR-8292 + VWR-8293 + VWR-8294 + VWR-8295 + VWR-8296 + VWR-8297 + VWR-8298 +Wilton Lundquist + VWR-7682 +WolfPup Lowenhar + SNOW-622 + SNOW-772 + STORM-102 + STORM-103 + STORM-143 + STORM-236 + STORM-255 + STORM-256 + STORM-288 + STORM-535 + STORM-544 + STORM-654 + STORM-674 + STORM-776 + STORM-825 + VWR-20741 + VWR-20933 +Zai Lynch + VWR-19505 +Zarkonnen Decosta + VWR-253 +Zi Ree + VWR-423 + VWR-671 + VWR-682 + VWR-684 + VWR-9127 + VWR-1140 +Zipherius Turas + VWR-76 + VWR-77 + diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index c4be176353..dabec6390d 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -1898,7 +1898,7 @@ BOOL LLVolume::generate() // Split is a parameter to LLProfile::generate that tesselates edges on the profile
// to prevent lighting and texture interpolation errors on triangles that are
// stretched due to twisting or scaling on the path.
- S32 split = (S32) ((mDetail)*0.66f);
+ S32 split = 0;//(S32) ((mDetail)*0.66f);
if (mParams.getPathParams().getCurveType() == LL_PCODE_PATH_LINE &&
(mParams.getPathParams().getScale().mV[0] != 1.0f ||
diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt index 684e393cba..3e94a4738b 100644 --- a/indra/llui/CMakeLists.txt +++ b/indra/llui/CMakeLists.txt @@ -245,11 +245,11 @@ target_link_libraries(llui ) # Add tests -if (LL_TESTS) +if (0 AND LL_TESTS) include(LLAddBuildTest) SET(llui_TEST_SOURCE_FILES llurlmatch.cpp llurlentry.cpp ) LL_ADD_PROJECT_UNIT_TESTS(llui "${llui_TEST_SOURCE_FILES}") -endif (LL_TESTS)
\ No newline at end of file +endif (0 AND LL_TESTS) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index d0c62817e5..9878729884 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -7252,7 +7252,7 @@ <string>Vector3</string> <key>Value</key> <array> - <real>0.40</real> + <real>0.70</real> <real>1.00</real> <real>0.00</real> </array> @@ -8009,7 +8009,7 @@ <key>Type</key> <string>F32</string> <key>Value</key> - <real>0.1</real> + <real>0</real> </map> <key>RenderGIAmbiance</key> @@ -8229,9 +8229,9 @@ <string>Vector3</string> <key>Value</key> <array> - <real>0.299</real> - <real>0.587</real> - <real>0.114</real> + <real>1</real> + <real>0</real> + <real>0</real> </array> </map> <key>RenderGlowMaxExtractAlpha</key> @@ -8243,7 +8243,7 @@ <key>Type</key> <string>F32</string> <key>Value</key> - <real>0.065</real> + <real>0.25</real> </map> <key>RenderGlowMinLuminance</key> <map> @@ -8254,7 +8254,7 @@ <key>Type</key> <string>F32</string> <key>Value</key> - <real>2.5</real> + <real>0.81</real> </map> <key>RenderGlowResolutionPow</key> <map> diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl index b08c5dd295..28a38d4390 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl @@ -10,7 +10,6 @@ #extension GL_ARB_texture_rectangle : enable uniform sampler2D diffuseMap; -uniform sampler2D noiseMap; uniform sampler2DRect depthMap; uniform mat4 shadow_matrix[6]; @@ -45,8 +44,6 @@ void main() vec2 frag = vary_fragcoord.xy/vary_fragcoord.z*0.5+0.5; frag *= screen_res; - vec3 samp_pos = getPosition(frag).xyz; - vec4 pos = vec4(vary_position, 1.0); vec4 col = vec4(vary_ambient + vary_directional.rgb, gl_Color.a); diff --git a/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl index ea2df4b51a..d9f021b114 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl @@ -39,44 +39,49 @@ vec4 getPosition(vec2 pos_screen) void main() { - vec3 norm = texture2DRect(normalMap, vary_fragcoord.xy).xyz; + vec2 tc = vary_fragcoord.xy; + vec3 norm = texture2DRect(normalMap, tc).xyz; norm = vec3((norm.xy-0.5)*2.0,norm.z); // unpack norm - vec3 pos = getPosition(vary_fragcoord.xy).xyz; - vec4 ccol = texture2DRect(lightMap, vary_fragcoord.xy).rgba; + vec3 pos = getPosition(tc).xyz; + vec4 ccol = texture2DRect(lightMap, tc).rgba; vec2 dlt = kern_scale * delta / (1.0+norm.xy*norm.xy); - dlt /= max(-pos.z*dist_factor, 1.0); vec2 defined_weight = kern[0].xy; // special case the first (centre) sample's weight in the blur; we have to sample it anyway so we get it for 'free' vec4 col = defined_weight.xyxx * ccol; - + + // relax tolerance according to distance to avoid speckling artifacts, as angles and distances are a lot more abrupt within a small screen area at larger distances + float pointplanedist_tolerance_pow2 = pos.z*pos.z*0.00005; + + // perturb sampling origin slightly in screen-space to hide edge-ghosting artifacts where smoothing radius is quite large + tc += ( (mod(tc.x+tc.y,2) - 0.5) * kern[1].z * dlt * 0.5 ); + for (int i = 1; i < 4; i++) { - vec2 tc = vary_fragcoord.xy + kern[i].z*dlt; - vec3 samppos = getPosition(tc).xyz; + vec2 samptc = tc + kern[i].z*dlt; + vec3 samppos = getPosition(samptc).xyz; float d = dot(norm.xyz, samppos.xyz-pos.xyz);// dist from plane - if (d*d <= 0.003) + if (d*d <= pointplanedist_tolerance_pow2) { - col += texture2DRect(lightMap, tc)*kern[i].xyxx; + col += texture2DRect(lightMap, samptc)*kern[i].xyxx; defined_weight += kern[i].xy; } } for (int i = 1; i < 4; i++) { - vec2 tc = vary_fragcoord.xy - kern[i].z*dlt; - vec3 samppos = getPosition(tc).xyz; + vec2 samptc = tc - kern[i].z*dlt; + vec3 samppos = getPosition(samptc).xyz; float d = dot(norm.xyz, samppos.xyz-pos.xyz);// dist from plane - if (d*d <= 0.003) + if (d*d <= pointplanedist_tolerance_pow2) { - col += texture2DRect(lightMap, tc)*kern[i].xyxx; + col += texture2DRect(lightMap, samptc)*kern[i].xyxx; defined_weight += kern[i].xy; } } - - col /= defined_weight.xyxx; + col.y *= col.y; gl_FragColor = col; } diff --git a/indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl b/indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl index e3c15a2ab2..f4f6ee95d0 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl @@ -16,5 +16,5 @@ void main() vec4 col = texture2D(diffuseMap, gl_TexCoord[0].xy); gl_FragData[0] = vec4(col.rgb, col.a * 0.005); gl_FragData[1] = texture2D(specularMap, gl_TexCoord[0].xy); - gl_FragData[2] = vec4(texture2D(normalMap, gl_TexCoord[0].xy).xyz, 0.0); + gl_FragData[2] = texture2D(normalMap, gl_TexCoord[0].xy); } diff --git a/indra/newview/app_settings/shaders/class1/deferred/sunLightSSAOF.glsl b/indra/newview/app_settings/shaders/class1/deferred/sunLightSSAOF.glsl index 1e0693d19f..25ff958107 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/sunLightSSAOF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/sunLightSSAOF.glsl @@ -53,57 +53,49 @@ float calcAmbientOcclusion(vec4 pos, vec3 norm) { float ret = 1.0; - float dist = dot(pos.xyz,pos.xyz); - - if (dist < 64.0*64.0) - { - vec2 kern[8]; - // exponentially (^2) distant occlusion samples spread around origin - kern[0] = vec2(-1.0, 0.0) * 0.125*0.125; - kern[1] = vec2(1.0, 0.0) * 0.250*0.250; - kern[2] = vec2(0.0, 1.0) * 0.375*0.375; - kern[3] = vec2(0.0, -1.0) * 0.500*0.500; - kern[4] = vec2(0.7071, 0.7071) * 0.625*0.625; - kern[5] = vec2(-0.7071, -0.7071) * 0.750*0.750; - kern[6] = vec2(-0.7071, 0.7071) * 0.875*0.875; - kern[7] = vec2(0.7071, -0.7071) * 1.000*1.000; + vec2 kern[8]; + // exponentially (^2) distant occlusion samples spread around origin + kern[0] = vec2(-1.0, 0.0) * 0.125*0.125; + kern[1] = vec2(1.0, 0.0) * 0.250*0.250; + kern[2] = vec2(0.0, 1.0) * 0.375*0.375; + kern[3] = vec2(0.0, -1.0) * 0.500*0.500; + kern[4] = vec2(0.7071, 0.7071) * 0.625*0.625; + kern[5] = vec2(-0.7071, -0.7071) * 0.750*0.750; + kern[6] = vec2(-0.7071, 0.7071) * 0.875*0.875; + kern[7] = vec2(0.7071, -0.7071) * 1.000*1.000; - vec2 pos_screen = vary_fragcoord.xy; - vec3 pos_world = pos.xyz; - vec2 noise_reflect = texture2D(noiseMap, vary_fragcoord.xy/128.0).xy; + vec2 pos_screen = vary_fragcoord.xy; + vec3 pos_world = pos.xyz; + vec2 noise_reflect = texture2D(noiseMap, vary_fragcoord.xy/128.0).xy; - float angle_hidden = 0.0; - int points = 0; + float angle_hidden = 0.0; + int points = 0; - float scale = min(ssao_radius / -pos_world.z, ssao_max_radius); + float scale = min(ssao_radius / -pos_world.z, ssao_max_radius); - // it was found that keeping # of samples a constant was the fastest, probably due to compiler optimizations (unrolling?) - for (int i = 0; i < 8; i++) - { - vec2 samppos_screen = pos_screen + scale * reflect(kern[i], noise_reflect); - vec3 samppos_world = getPosition(samppos_screen).xyz; + // it was found that keeping # of samples a constant was the fastest, probably due to compiler optimizations unrolling?) + for (int i = 0; i < 8; i++) + { + vec2 samppos_screen = pos_screen + scale * reflect(kern[i], noise_reflect); + vec3 samppos_world = getPosition(samppos_screen).xyz; - vec3 diff = pos_world - samppos_world; - float dist2 = dot(diff, diff); + vec3 diff = pos_world - samppos_world; + float dist2 = dot(diff, diff); - // assume each sample corresponds to an occluding sphere with constant radius, constant x-sectional area - // --> solid angle shrinking by the square of distance - //radius is somewhat arbitrary, can approx with just some constant k * 1 / dist^2 - //(k should vary inversely with # of samples, but this is taken care of later) + // assume each sample corresponds to an occluding sphere with constant radius, constant x-sectional area + // --> solid angle shrinking by the square of distance + //radius is somewhat arbitrary, can approx with just some constant k * 1 / dist^2 + //(k should vary inversely with # of samples, but this is taken care of later) - //if (dot((samppos_world - 0.05*norm - pos_world), norm) > 0.0) // -0.05*norm to shift sample point back slightly for flat surfaces - // angle_hidden += min(1.0/dist2, ssao_factor_inv); // dist != 0 follows from conditional. max of 1.0 (= ssao_factor_inv * ssao_factor) - angle_hidden = angle_hidden + float(dot((samppos_world - 0.05*norm - pos_world), norm) > 0.0) * min(1.0/dist2, ssao_factor_inv); + angle_hidden = angle_hidden + float(dot((samppos_world - 0.05*norm - pos_world), norm) > 0.0) * min(1.0/dist2, ssao_factor_inv); - // 'blocked' samples (significantly closer to camera relative to pos_world) are "no data", not "no occlusion" - points = points + int(diff.z > -1.0); - } + // 'blocked' samples (significantly closer to camera relative to pos_world) are "no data", not "no occlusion" + points = points + int(diff.z > -1.0); + } - angle_hidden = min(ssao_factor*angle_hidden/float(points), 1.0); + angle_hidden = min(ssao_factor*angle_hidden/float(points), 1.0); - ret = (1.0 - (float(points != 0) * angle_hidden)); - ret += max((dist-32.0*32.0)/(32.0*32.0), 0.0); - } + ret = (1.0 - (float(points != 0) * angle_hidden)); return min(ret, 1.0); } diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl index 32aab152a3..1dd29bfc70 100644 --- a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl @@ -14,7 +14,6 @@ uniform sampler2DRectShadow shadowMap0; uniform sampler2DRectShadow shadowMap1; uniform sampler2DRectShadow shadowMap2; uniform sampler2DRectShadow shadowMap3; -uniform sampler2D noiseMap; uniform sampler2DRect depthMap; uniform mat4 shadow_matrix[6]; @@ -70,8 +69,6 @@ void main() vec2 frag = vary_fragcoord.xy/vary_fragcoord.z*0.5+0.5; frag *= screen_res; - vec3 samp_pos = getPosition(frag).xyz; - float shadow = 1.0; vec4 pos = vec4(vary_position, 1.0); diff --git a/indra/newview/app_settings/shaders/class2/deferred/blurLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/blurLightF.glsl deleted file mode 100644 index ea2df4b51a..0000000000 --- a/indra/newview/app_settings/shaders/class2/deferred/blurLightF.glsl +++ /dev/null @@ -1,83 +0,0 @@ -/** - * @file blurLightF.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * $/LicenseInfo$ - */ - -#version 120 - -#extension GL_ARB_texture_rectangle : enable - -uniform sampler2DRect depthMap; -uniform sampler2DRect normalMap; -uniform sampler2DRect lightMap; - -uniform float dist_factor; -uniform float blur_size; -uniform vec2 delta; -uniform vec3 kern[4]; -uniform float kern_scale; - -varying vec2 vary_fragcoord; - -uniform mat4 inv_proj; -uniform vec2 screen_res; - -vec4 getPosition(vec2 pos_screen) -{ - float depth = texture2DRect(depthMap, pos_screen.xy).a; - vec2 sc = pos_screen.xy*2.0; - sc /= screen_res; - sc -= vec2(1.0,1.0); - vec4 ndc = vec4(sc.x, sc.y, 2.0*depth-1.0, 1.0); - vec4 pos = inv_proj * ndc; - pos /= pos.w; - pos.w = 1.0; - return pos; -} - -void main() -{ - vec3 norm = texture2DRect(normalMap, vary_fragcoord.xy).xyz; - norm = vec3((norm.xy-0.5)*2.0,norm.z); // unpack norm - vec3 pos = getPosition(vary_fragcoord.xy).xyz; - vec4 ccol = texture2DRect(lightMap, vary_fragcoord.xy).rgba; - - vec2 dlt = kern_scale * delta / (1.0+norm.xy*norm.xy); - - dlt /= max(-pos.z*dist_factor, 1.0); - - vec2 defined_weight = kern[0].xy; // special case the first (centre) sample's weight in the blur; we have to sample it anyway so we get it for 'free' - vec4 col = defined_weight.xyxx * ccol; - - for (int i = 1; i < 4; i++) - { - vec2 tc = vary_fragcoord.xy + kern[i].z*dlt; - vec3 samppos = getPosition(tc).xyz; - float d = dot(norm.xyz, samppos.xyz-pos.xyz);// dist from plane - if (d*d <= 0.003) - { - col += texture2DRect(lightMap, tc)*kern[i].xyxx; - defined_weight += kern[i].xy; - } - } - for (int i = 1; i < 4; i++) - { - vec2 tc = vary_fragcoord.xy - kern[i].z*dlt; - vec3 samppos = getPosition(tc).xyz; - float d = dot(norm.xyz, samppos.xyz-pos.xyz);// dist from plane - if (d*d <= 0.003) - { - col += texture2DRect(lightMap, tc)*kern[i].xyxx; - defined_weight += kern[i].xy; - } - } - - - - col /= defined_weight.xyxx; - - gl_FragColor = col; -} - diff --git a/indra/newview/app_settings/shaders/class2/deferred/blurLightV.glsl b/indra/newview/app_settings/shaders/class2/deferred/blurLightV.glsl deleted file mode 100644 index c2d05c601a..0000000000 --- a/indra/newview/app_settings/shaders/class2/deferred/blurLightV.glsl +++ /dev/null @@ -1,19 +0,0 @@ -/** - * @file blurLightF.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * $/LicenseInfo$ - */ - -#version 120 - -varying vec2 vary_fragcoord; -uniform vec2 screen_res; - -void main() -{ - //transform vertex - gl_Position = ftransform(); - vec4 pos = gl_ModelViewProjectionMatrix * gl_Vertex; - vary_fragcoord = (pos.xy*0.5+0.5)*screen_res; -} diff --git a/indra/newview/app_settings/shaders/class2/deferred/sunLightSSAOF.glsl b/indra/newview/app_settings/shaders/class2/deferred/sunLightSSAOF.glsl index cc921f23d7..08b16d787f 100644 --- a/indra/newview/app_settings/shaders/class2/deferred/sunLightSSAOF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/sunLightSSAOF.glsl @@ -62,58 +62,50 @@ vec4 getPosition(vec2 pos_screen) float calcAmbientOcclusion(vec4 pos, vec3 norm) { float ret = 1.0; - - float dist = dot(pos.xyz,pos.xyz); - - if (dist < 64.0*64.0) - { - vec2 kern[8]; - // exponentially (^2) distant occlusion samples spread around origin - kern[0] = vec2(-1.0, 0.0) * 0.125*0.125; - kern[1] = vec2(1.0, 0.0) * 0.250*0.250; - kern[2] = vec2(0.0, 1.0) * 0.375*0.375; - kern[3] = vec2(0.0, -1.0) * 0.500*0.500; - kern[4] = vec2(0.7071, 0.7071) * 0.625*0.625; - kern[5] = vec2(-0.7071, -0.7071) * 0.750*0.750; - kern[6] = vec2(-0.7071, 0.7071) * 0.875*0.875; - kern[7] = vec2(0.7071, -0.7071) * 1.000*1.000; - vec2 pos_screen = vary_fragcoord.xy; - vec3 pos_world = pos.xyz; - vec2 noise_reflect = texture2D(noiseMap, vary_fragcoord.xy/128.0).xy; + vec2 kern[8]; + // exponentially (^2) distant occlusion samples spread around origin + kern[0] = vec2(-1.0, 0.0) * 0.125*0.125; + kern[1] = vec2(1.0, 0.0) * 0.250*0.250; + kern[2] = vec2(0.0, 1.0) * 0.375*0.375; + kern[3] = vec2(0.0, -1.0) * 0.500*0.500; + kern[4] = vec2(0.7071, 0.7071) * 0.625*0.625; + kern[5] = vec2(-0.7071, -0.7071) * 0.750*0.750; + kern[6] = vec2(-0.7071, 0.7071) * 0.875*0.875; + kern[7] = vec2(0.7071, -0.7071) * 1.000*1.000; + + vec2 pos_screen = vary_fragcoord.xy; + vec3 pos_world = pos.xyz; + vec2 noise_reflect = texture2D(noiseMap, vary_fragcoord.xy/128.0).xy; - float angle_hidden = 0.0; - int points = 0; + float angle_hidden = 0.0; + int points = 0; - float scale = min(ssao_radius / -pos_world.z, ssao_max_radius); + float scale = min(ssao_radius / -pos_world.z, ssao_max_radius); - // it was found that keeping # of samples a constant was the fastest, probably due to compiler optimizations (unrolling?) - for (int i = 0; i < 8; i++) - { - vec2 samppos_screen = pos_screen + scale * reflect(kern[i], noise_reflect); - vec3 samppos_world = getPosition(samppos_screen).xyz; + // it was found that keeping # of samples a constant was the fastest, probably due to compiler optimizations (unrolling?) + for (int i = 0; i < 8; i++) + { + vec2 samppos_screen = pos_screen + scale * reflect(kern[i], noise_reflect); + vec3 samppos_world = getPosition(samppos_screen).xyz; - vec3 diff = pos_world - samppos_world; - float dist2 = dot(diff, diff); + vec3 diff = pos_world - samppos_world; + float dist2 = dot(diff, diff); - // assume each sample corresponds to an occluding sphere with constant radius, constant x-sectional area - // --> solid angle shrinking by the square of distance - //radius is somewhat arbitrary, can approx with just some constant k * 1 / dist^2 - //(k should vary inversely with # of samples, but this is taken care of later) + // assume each sample corresponds to an occluding sphere with constant radius, constant x-sectional area + // --> solid angle shrinking by the square of distance + //radius is somewhat arbitrary, can approx with just some constant k * 1 / dist^2 + //(k should vary inversely with # of samples, but this is taken care of later) - //if (dot((samppos_world - 0.05*norm - pos_world), norm) > 0.0) // -0.05*norm to shift sample point back slightly for flat surfaces - // angle_hidden += min(1.0/dist2, ssao_factor_inv); // dist != 0 follows from conditional. max of 1.0 (= ssao_factor_inv * ssao_factor) - angle_hidden = angle_hidden + float(dot((samppos_world - 0.05*norm - pos_world), norm) > 0.0) * min(1.0/dist2, ssao_factor_inv); + angle_hidden = angle_hidden + float(dot((samppos_world - 0.05*norm - pos_world), norm) > 0.0) * min(1.0/dist2, ssao_factor_inv); - // 'blocked' samples (significantly closer to camera relative to pos_world) are "no data", not "no occlusion" - points = points + int(diff.z > -1.0); - } + // 'blocked' samples (significantly closer to camera relative to pos_world) are "no data", not "no occlusion" + points = points + int(diff.z > -1.0); + } - angle_hidden = min(ssao_factor*angle_hidden/float(points), 1.0); + angle_hidden = min(ssao_factor*angle_hidden/float(points), 1.0); - ret = (1.0 - (float(points != 0) * angle_hidden)); - ret += max((dist-32.0*32.0)/(32.0*32.0), 0.0); - } + ret = (1.0 - (float(points != 0) * angle_hidden)); return min(ret, 1.0); } diff --git a/indra/newview/llfloatersearch.cpp b/indra/newview/llfloatersearch.cpp index 2041fac8d8..1e321674a7 100644 --- a/indra/newview/llfloatersearch.cpp +++ b/indra/newview/llfloatersearch.cpp @@ -103,14 +103,14 @@ BOOL LLFloaterSearch::postBuild() void LLFloaterSearch::onOpen(const LLSD& key) { - search(key); -} + if ( (key.has("category")) || ((mBrowser) && (mBrowser->getCurrentNavUrl().empty())) ) + { + // new search triggered - blank the page while loading, instead of + // temporarily showing stale results + mBrowser->navigateTo("about:blank"); -void LLFloaterSearch::onClose(bool app_quitting) -{ - // tear down the web view so we don't show the previous search - // result when the floater is opened next time - destroy(); + search(key); + } } void LLFloaterSearch::handleMediaEvent(LLPluginClassMedia *self, EMediaEvent event) diff --git a/indra/newview/llfloatersearch.h b/indra/newview/llfloatersearch.h index ba4dc4c0fa..615c099d0d 100644 --- a/indra/newview/llfloatersearch.h +++ b/indra/newview/llfloatersearch.h @@ -53,8 +53,6 @@ public: /// see search() for details on the key parameter. /*virtual*/ void onOpen(const LLSD& key); - /*virtual*/ void onClose(bool app_quitting); - /// perform a search with the specific search term. /// The key should be a map that can contain the following keys: /// - "id": specifies the text phrase to search for |