Commit Graph

257 Commits (4cc0edb189c4deaa205f986d20a6959aa83fb25c)

Author SHA1 Message Date
Rye Mutt 958afaa7a7 Integrate SMAA and rework post process chain for better visual quality
Add SMAA buffer generation passes
Add quality levels for both FXAA and SMAA
Separate gamma correction and tonemapping for effects that require linear-but-tonemapped inputs
Move application of noise to final render pass to screen to avoid damaging other post process effects
2024-08-29 17:24:50 -04:00
Rye Cogtail 2ca193ce46 Improve FXAA quality and performance when GL version is greater then 4
Adds gather4 support under GLSL 4.0+
2024-08-24 00:55:34 -04:00
Cosmic Linden 6aa9110b2a secondlife/viewer#1883: Local-only PBR terrain paintmap with developer tools 2024-08-06 16:28:47 -07:00
Rye Mutt e101d1aa28
Fix excessive clearing of shader cache when toggling mirrors (#1950) 2024-07-09 19:51:02 -05:00
Ansariel 9fdca96f8b Re-enable compiler warnings C4244 and C4396 except for lltracerecording.h and llunittype.h for now 2024-07-08 20:27:14 +02:00
Dave Parks 80ea30af1a
#1769 gltf optimization pass (#1816)
#1814 and #1517 Fix mirror update rate and occlusion culling
2024-06-21 13:13:08 -05:00
Dave Parks 375555012f
1736 audit texture image unit usage on os x (#1739)
* #1736 Remove some unused samplers from glsl files and refactor shader manager to assume 16 texture image units and 4 indexed texture units all the time.
2024-06-14 17:06:07 -05:00
Brad Linden d12c897bfc Merge remote-tracking branch 'origin/project/gltf_development' into brad/maint-a-merge-to-gltf-dev
# Conflicts:
 #	indra/newview/gltf/primitive.cpp
2024-06-12 10:31:27 -07:00
Dave Parks f40fbdf4ad
#1718 Add GLTF support for multiple texcoords (#1720)
* Fix for GLTF MeshPrimitiveModes test
2024-06-11 17:10:13 -05:00
Dave Parks 429c92ad75
#1687 Add support for KHR_texture_transform (#1717) 2024-06-11 13:27:54 -05:00
Brad Linden 7c42711ca3 Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into project/gltf_development 2024-06-10 16:22:12 -07:00
Dave Parks 227e9be068
#1654 generate normals and tangents according to gltf specification (#1662)
* Disable unloading of objects in background. 
* Add unlit GLTF shader variant
2024-06-10 10:43:38 -05:00
Ansariel c0fad3028f Re-enable compiler warnings C4018, C4100, C4231 and C4506 2024-06-10 16:42:43 +02:00
Ansariel b42f9d836b Re-enable a lot of compiler warnings for MSVC and address the C4267 "possible loss of precision" warnings 2024-06-01 15:49:26 +02:00
Dave Parks 15fd13f830
#1530 Increase joint limit for GLTF Assets (#1582)
* Migrate GLTF scene rendering to its own shaders
* Add support for ambient occlusion map separate from metallic roughness map (or absent)
* Use UBO's for GLTF joints
* Better error handling of downloading GLTF assets
2024-05-29 16:56:39 -05:00
Brad Linden a1f49564d6 Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into brad/merge-maint-a-to-dev 2024-05-23 11:31:19 -07:00
Ansariel e2e37cced8 Fix line endlings 2024-05-22 22:40:26 +03:00
Ansariel 1b67dd855c Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts:
#	autobuild.xml
#	indra/cmake/CMakeLists.txt
#	indra/cmake/GoogleMock.cmake
#	indra/llaudio/llaudioengine_fmodstudio.cpp
#	indra/llaudio/llaudioengine_fmodstudio.h
#	indra/llaudio/lllistener_fmodstudio.cpp
#	indra/llaudio/lllistener_fmodstudio.h
#	indra/llaudio/llstreamingaudio_fmodstudio.cpp
#	indra/llaudio/llstreamingaudio_fmodstudio.h
#	indra/llcharacter/llmultigesture.cpp
#	indra/llcharacter/llmultigesture.h
#	indra/llimage/llimage.cpp
#	indra/llimage/llimagepng.cpp
#	indra/llimage/llimageworker.cpp
#	indra/llimage/tests/llimageworker_test.cpp
#	indra/llmessage/tests/llmockhttpclient.h
#	indra/llprimitive/llgltfmaterial.h
#	indra/llrender/llfontfreetype.cpp
#	indra/llui/llcombobox.cpp
#	indra/llui/llfolderview.cpp
#	indra/llui/llfolderviewmodel.h
#	indra/llui/lllineeditor.cpp
#	indra/llui/lllineeditor.h
#	indra/llui/lltextbase.cpp
#	indra/llui/lltextbase.h
#	indra/llui/lltexteditor.cpp
#	indra/llui/lltextvalidate.cpp
#	indra/llui/lltextvalidate.h
#	indra/llui/lluictrl.h
#	indra/llui/llview.cpp
#	indra/llwindow/llwindowmacosx.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/llappearancemgr.cpp
#	indra/newview/llappearancemgr.h
#	indra/newview/llavatarpropertiesprocessor.cpp
#	indra/newview/llavatarpropertiesprocessor.h
#	indra/newview/llbreadcrumbview.cpp
#	indra/newview/llbreadcrumbview.h
#	indra/newview/llbreastmotion.cpp
#	indra/newview/llbreastmotion.h
#	indra/newview/llconversationmodel.h
#	indra/newview/lldensityctrl.cpp
#	indra/newview/lldensityctrl.h
#	indra/newview/llface.inl
#	indra/newview/llfloatereditsky.cpp
#	indra/newview/llfloatereditwater.cpp
#	indra/newview/llfloateremojipicker.h
#	indra/newview/llfloaterimsessiontab.cpp
#	indra/newview/llfloaterprofiletexture.cpp
#	indra/newview/llfloaterprofiletexture.h
#	indra/newview/llgesturemgr.cpp
#	indra/newview/llgesturemgr.h
#	indra/newview/llimpanel.cpp
#	indra/newview/llimpanel.h
#	indra/newview/llinventorybridge.cpp
#	indra/newview/llinventorybridge.h
#	indra/newview/llinventoryclipboard.cpp
#	indra/newview/llinventoryclipboard.h
#	indra/newview/llinventoryfunctions.cpp
#	indra/newview/llinventoryfunctions.h
#	indra/newview/llinventorygallery.cpp
#	indra/newview/lllistbrowser.cpp
#	indra/newview/lllistbrowser.h
#	indra/newview/llpanelobjectinventory.cpp
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llpanelprofile.h
#	indra/newview/llpreviewgesture.cpp
#	indra/newview/llsavedsettingsglue.cpp
#	indra/newview/llsavedsettingsglue.h
#	indra/newview/lltooldraganddrop.cpp
#	indra/newview/llurllineeditorctrl.cpp
#	indra/newview/llvectorperfoptions.cpp
#	indra/newview/llvectorperfoptions.h
#	indra/newview/llviewerparceloverlay.cpp
#	indra/newview/llviewertexlayer.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/macmain.h
#	indra/test/test.cpp
2024-05-22 19:04:52 +02:00
Dave Parks d21f29b643
Merge branch 'project/gltf_development' into project/gltf_development 2024-05-14 14:22:46 -05:00
Cosmic Linden 9441608623 secondlife/viewer#907: Local PBR terrain texture transforms 2024-05-10 17:42:54 -07:00
Ansariel 799ebf2162 Fix broken merge and BOOL/bool issues 2024-05-10 15:16:06 +02:00
RunitaiLinden c6d752b880 Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into gltf-dev-maint-a-merge 2024-05-06 16:48:58 -05:00
Brad Linden 9b6979f458
Fix for SL-20652 shadows on mac breaking alpha blended objects. (#1264)
* Fix for SL-20652 shadows on mac breaking alpha blended objects.

fix secondlife/jira-archive-internal#71030

* clean up surrounding indentation

* Skip unnecessary casting

* Clean up LLGLSLShader::sIndexedTextureChannels usage and improve fix for SL-20652
2024-04-30 19:06:27 -05:00
Andrey Lihatskiy 1b68f71348 #824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed 2024-04-29 07:56:09 +03:00
RunitaiLinden 2880e5ceee
#1139 Fix for world going black/white in some scenes (NaNs) (#1273)
* #1139 Fix for world going black/white in some scenes (NaNs)

NaNs were coming from normal encode/decode.  Take advantage of available gbuffer space to send full normal instead of encoding.

* #1139 Cleanup

remove now unused encodeNormF.glsl

* #1139 Remove final reference to encodeNormF

* #1139 Fix for getNormalEnvIntensityFlags referencing wrong sampler for env intensity

* Mac build fix
2024-04-19 11:59:28 -05:00
RunitaiLinden c1bde75768
HDRI Local Preview (#953)
* #926 WIP - HDRI import prototype v0

* #926 WIP -- add OpenEXR to autobuild.xml

* #926 WIP -- Add OpenEXR cmake

* #926 WIP -- Attempt at using OpenEXR autobuild package and don't hard code .exr file to load

* #926 Unmangle autobuild.xml and get dll's in the right place (thanks, Caladbolg!)

* implement mac shared libs plumbing for OpenEXR for secondlife/viewer#926

* Fix Xcode/clang compile error regarding new[]/delete[] mismatch

* #926 HDRI Preview finishing touches.

- Full ACES when HDRI is enabled
- Fix for probes getting stuck paused
- Add exposure and rotation controls

---------

Co-authored-by: Brad Linden <brad@lindenlab.com>
2024-03-08 12:01:20 -06:00
Ansariel b2c2713672 Convert BOOL to bool in llrender 2024-02-20 02:14:01 +02:00
Jonathan "Geenz" Goodman 97d2b21621 #671 Setup the viewer to respect the MirrorsEnabled simulator feature. 2024-02-08 11:39:35 -08:00
RunitaiLinden 78cc23f89c Merge branch 'release/materials_featurette' into materials_featurette/mirrors 2024-02-07 11:20:06 -06:00
RunitaiLinden 5abc68ad43 #677 Move PBR mirror radiance mixing to reflectionProbeF so transparent PBR surfaces can be mirrors 2024-02-02 15:43:56 -06:00
RunitaiLinden b2462355a3 #677 WIP -- add mirror clipping to more shaders 2024-02-01 13:19:20 -06:00
Cosmic Linden 00c65b6270 secondlife/viewer-issues#43: Fix debug normals not rendering for terrain 2024-01-31 14:31:06 -08:00
Jonathan "Geenz" Goodman 373b06398c Merge remote-tracking branch 'origin/release/materials_featurette' into DRTVWR-583 2024-01-24 14:37:33 -08:00
RunitaiLinden 6dd260c369
Merge branch 'release/materials_featurette' into DRTVWR-592 2024-01-19 11:36:56 -06:00
RunitaiLinden 964f9e74d5 SL-20611 followup -- remove now unused glsl files. Fix transparent water. 2023-11-17 10:10:58 -06:00
RunitaiLinden bdb53fd56d SL-20611 Make haze effect local lights -- move sky and water haze to their own passes and unify sky and water haze in forward rendering shaders. 2023-11-16 16:46:12 -06:00
Jonathan "Geenz" Goodman e841c73a99 Tons of masking changes and tweaks.
We now support masking mirrors in the GBuffer.

We also now support the concept of one arbitrary clip plane.

DRTVWR-583
2023-10-16 08:45:48 -07:00
Cosmic Linden a91f08ba84 Merge branch 'DRTVWR-559' into DRTVWR-592 2023-10-13 14:02:51 -07:00
Cosmic Linden 754fe9d4b7 DRTVWR-592: (WIP) Triplanar mapping 2023-10-13 10:39:09 -07:00
Cosmic Linden a7cd5f6ef9 DRTVWR-592: (WIP) (does not run) PBR terrain rendering - more work on shaders, uniforms 2023-10-13 09:57:48 -07:00
Cosmic Linden 7376b3e4b9 DRTVWR-592: (WIP) (does not run) PBR terrain rendering - begin work on shaders, uniforms 2023-10-13 09:57:40 -07:00
Jonathan "Geenz" Goodman 73870cb0b4 Merge branch 'DRTVWR-559' into DRTVWR-583 2023-09-25 09:27:49 -07:00
Jonathan "Geenz" Goodman 348d427db6 Add a probe strength uniform for hero probes.
On standard reflection probes this doesn't really do anything.

DRTVWR-583
2023-08-29 05:08:47 -07:00
RunitaiLinden 894c9e0417 SL-19842 WIP -- Move sky auto adjustment magic numbers to debug settings. 2023-08-22 13:17:58 -05:00
Jonathan "Geenz" Goodman 040050af19 Merge branch 'DRTVWR-559' into DRTVWR-583 2023-07-17 15:06:23 -07:00
Cosmic Linden 6628320130 SL-19567: Add option RenderGlowNoise for low precision glow dithering, enabled by default 2023-07-12 15:44:15 -07:00
Jonathan "Geenz" Goodman d8dd4d9c0c Just about got hero reflection maps working.
DRTVWR-583
2023-06-27 20:01:52 -07:00
Jonathan "Geenz" Goodman ffac2df6ca Merge branch 'DRTVWR-559' into DRTVWR-583-glossy-ssr 2023-06-11 20:56:02 -07:00
RunitaiLinden 50ec54831d
DRTVWR-559 Revert skies to be very close to release and disable tone mapping when probe ambiance is zero.
Hack for desaturating legacy materials has been removed for performance and quality reasons.

Adds a new setting for auto adjusting legacy skies.  This is the PBR "opt out" button.  If disabled, legacy skies will disable tonemapping, automatic probe ambiance, and HDR/exposure.  If enabled, legacy skies will behave as if probe ambiance and HDR scale are 1.0, and ambient will be cut in half.  

HDR scale will act as a sky brightener, but will automatically adjust dynamic exposure so the sky will be properly exposed.  If you want relatively even exposure all the time, set HDR Scale to 1.0.  If you want a high range of exposures between indoor/dark areas and outdoor/bright areas, increase HDR Scale.

Also tuned up SSAO (thanks Rye!).

Reviewed with Brad.
2023-06-01 19:49:23 -05:00
Jonathan "Geenz" Goodman 47e311d6e8 Addressing some performance related feedback with SSR getting drastically slower.
DRTVWR-559
DRTVWR-583
2023-05-26 16:56:33 -07:00