Commit Graph

156 Commits (ee37ea4aa751de128ce51f59260716d8ee8ee6ed)

Author SHA1 Message Date
Andrey Kleshchev beae4564e3 SL-17584 Make setShaders crashes more informative 2022-06-15 16:00:21 +03:00
Dave Parks 5e5be92d79 SL-16202 Put Multi-threaded GL behind a feature flag and update featuretable (decruftify settings, compatibility pass). 2021-12-06 15:29:34 +00:00
Dave Houlton 68e09edad0 SL-16386 remove references to (const true) LLGLSLShader::sNoFixedFunction 2021-11-30 17:04:35 -07:00
Dave Parks 28f9fb06a9 SL-16289 Rigged mesh rendering overhaul 2021-11-20 18:49:19 +00:00
Andrey Kleshchev d357bf7ae5 SL-14990 Turn on shader init logging after crash 2021-04-01 19:44:56 +03:00
Ptolemy 2805f38074 DRTVWR-497 Cleanup: Document which enum order comes from 2020-06-29 11:59:52 -07:00
Ptolemy af7563968c SL-10449: Put first shader error on new line for readability 2020-04-07 16:22:25 -07:00
Ptolemy e4f72db20d SL-10449: Add dumping of shader to log file 2020-04-07 16:21:39 -07:00
Ptolemy 0b717e2d1a SL-10449 Cleanup dumping shader without LOG spam on every line when it fails to compile/link 2020-04-07 14:22:24 -07:00
Ptolemy 4051f5754a SL-10449 Fix off-by-one line numbers when dumping shader that failed to compile/link 2020-04-07 14:07:45 -07:00
Michael Pohoreski (Ptolemy Linden) bd761b0833 Cleanup inconsistent types 2019-11-22 23:41:20 +00:00
Michael Pohoreski (Ptolemy Linden) 18eb8ac90c QoL fix: remove extra blank lines for every source line when dumping shader source 2019-11-15 15:45:08 -08:00
Graham Linden b507d63566 SL-11621
Remove all references to unused shader var global_gamma.

Remove many unused decls for gamma from shaders.

Make post-deferred gamma correction use display_gamma.

Make setting display_gamma use the correct RenderDeferredDisplayGamma setting.
2019-07-23 11:36:22 -07:00
Graham Linden 16d3279995 SL-10966
Fix light atten and transmittance calcs breaking ambient color contrib to fog.

Needs to be tested on DRTSIM-415 or better to get legacy viewer settings that match EEP.
2019-06-03 11:30:41 -07:00
Graham Linden fe734ddf07 SL-11056
Make OpenGL 3.3 cards not false alarm on version 140 shader reqs.
Makes deferred rendering work on low-end GPUs more often.
2019-05-09 13:14:24 -07:00
Geenz 08812cbe06 Separate out vertex program objects from fragment program objects and use it.
Given that mShaderObjects only ever expects one copy of a given shader object (leading to lots of "shaderV" and "shaderF"), it made having utility shaders a bit more difficult to incorporate.
This change makes sure the two are separated.  Using this over a multimap largely for readibility.

Also, actually, you know, use this functionality.

--HG--
branch : OPEN-340
2019-04-10 02:11:07 -07:00
Geenz dcd8117b85 First stab at moving atmospheric var calcs to its own utility shader.
Still some work to go here.  Largely related to how certain values (i.e., SSAO mix values) are supplied.  But so far, so good.

--HG--
branch : OPEN-340
2019-04-09 22:35:40 -07:00
Graham Linden d78ed764b5 Merge 6.1.2 LoveMeRender new hotness 2019-04-02 12:27:34 -07:00
Graham Linden 15270f697a Tab restoration project.
'warn-on-failure:no-tabs'
2019-03-12 10:52:00 -07:00
Graham Linden 53f3755a46 Fix tabs. 2019-03-07 15:09:34 -08:00
Graham Linden 423fa1ac29 SL-10618, SL-10698
Fix reflection/distortion map culling planes again.

Fix broken handling of shadow disables in ALM forward shaders.
2019-03-07 10:56:26 -08:00
Graham Linden 8890c3238a SL-10478
Fix side-effects of having both sun and moon as potential directional light contributors.
We pass an int to the shader indicating which to prefer instead of making per-pixel decisions
and pass the moonlight color/di independently.

Obsolete llsettingssky fade color which was unused elsewhere and cached for no reason.
2019-02-06 16:42:23 -08:00
Graham Linden 5a8610ccb7 SL-9996, SL-1130, SL-5546
Fix bug with setting texture matrix for rigged mesh.

Fix z-fighting between sea and sky in ALM by cheating sky, stars, and moon using gl_FragDepth.

Fix handling of atmospheric haze glow w.r.t independent sun/moon positioning
(we can no longer depend on them being mutex to each other).
2019-02-01 13:41:31 -08:00
Graham Linden deb6110098 Eliminate helper GLSL modules depending on further GLSL modules to give Intel HD x000 compiler a fighting chance.
More WIP for edge-specific water shader for 9996.
2019-01-30 13:26:35 -08:00
Graham Linden 08440def11 WIP for 10374 (reduce number of shaders linking against deferredUtil).
Prepare for using ifdef to conditionally engage using gl_FragDepth in water shaders
(because GL requires that writing to gl_FragDepth on any path means you need to
 write a depth value on every path).
2019-01-30 12:34:20 -08:00
Graham Linden acbc7f4cdd SL-10415, SL-10434
Further tweaking of directional shadow sampling to balance between peter-panning and shadow acne.

Move stars to just this side of the sky some to reduce parallax.

Remove decodeNormF and uses of decode_normal in favor of unified use of getNorm
(try to help the Intel HD x000 compiler learn to link correctly).
2019-01-30 08:37:07 -08:00
Graham Linden 966dc7fc8f SL-10276
SL-9851

Fix cloud shaders to ignore clouds when cloud_scale is 0.

Fix creation of heavenly body geo to avoid degenerate vector math
and not randomly flip orientation when crossing zenith.

Add sun_up_factor to eliminate sun glow around moon when sun is down.
2019-01-24 14:54:11 -08:00
Graham Linden 7e9033821a De-duplicate deferred gbuffer access for getPosition/getNorm.
De-duplicate ambient occlusion shader code and move to new aoUtil.glsl

Split shared shadow tap funcs into shadowUtil.glsl
2018-12-06 10:59:11 -08:00
Graham Linden 429bef3cf6 Remove compilation and linkage of deferredUtil and indirect GLSL helper objects (current source of Intel ig4icd driver crash). 2018-11-15 08:11:05 -08:00
Graham Linden bdf4442e21 Add missing new shader files. 2018-11-09 22:55:41 +00:00
Graham Linden d614bf1135 Yes, Maurice, baby steps. 2018-11-09 21:11:37 +00:00
Graham Linden db270df7cc Back out changes causing broken shadows and other render shenanigans. 2018-11-09 18:31:29 +00:00
Graham Linden 2929998982 Move to using a shared deferredUtil object for getting pos/norm from gbuffer.
Eliminate 20+ callsites with copy-paste of getPosition and/or getNorm code.

Make pipeline use getShadowTarget/releaseShadowTarget consistently.
2018-11-06 19:33:04 +00:00
Graham Linden fb335cc243 SL-10000 fix storing of ambient value when converting legacy settings 2018-11-01 18:26:24 +01:00
Graham Linden 536799d07e SL-9977
SL-9973
2018-10-29 23:02:20 +01:00
Graham Linden 79d33f9d19 Fix names of WATER_BLUR_MULTIPILER.
Give wave direction uniforms more meaningful names in shaders.

Add comments on glow size/focus conversions for clarity.
2018-10-10 18:44:03 +01:00
Graham Linden f8aac19237 SL-1289
add cloud_variance control for randomized perturbance of clouds to break up tiling monotony
2018-10-09 18:44:43 +01:00
Graham Linden ffc6393309 SL-9751
Add optional moon brightness setting
2018-10-08 22:08:35 +01:00
Graham Linden 5eed233618 SL-1925
More settings for rainbow/halo atmospheric effects, final default asset UUIDs, and shader mods.
2018-10-05 21:32:42 +01:00
Graham Linden 1df7760d31 SL-9632 add uniform and code to supress atmospherics in all shaders that could be used by HUDs
Make sky and cloud shaders use common scaleSoftClip implementation in gammaF.glsl
2018-09-14 21:52:52 +01:00
Graham Linden 3237923e10 MAINT-3699 new shaders supporting alpha blend/mask rigged content.
Make shader loading debug logging of uniforms use ShaderUniform to make supression simpler.
2018-08-16 00:31:39 +01:00
Graham Linden 71a0d3e959 Fix OSX bug from OLD_SELECT GLSL work-around define not being used with automatically linked feature shaders.
Add LL_RELEASE_FOR_DOWNLOAD ifdef around launcher nag.

Fix OSX 10.14 SDK compile issue from unused var in scroll list.
2018-06-26 23:31:03 +01:00
Graham Linden 34865c4bb5 Mods to hook up water settings to water normals for rendering with support for current to next blending.
Modify LLSettingsFoo::buildDefaultFoo to use a static and avoid re-validation of default sky/water/daycycle settings.

Remove all references to gSun/MoonTextureId globals (they should come from sky settings now).
2018-06-13 00:51:39 +01:00
Graham Linden 67ab0084f8 Fix env panel forward action.
Make env panel update environment when jumping frame to frame.

Add separate funcs for sun/moon vectors in various coord systems.

Make haze glow only pay attention to sun (i.e. fix sun glow when moon is near horizon in daytime).
2018-06-12 18:42:07 +01:00
Graham Linden fc8d0de673 Make cloud rendering use textures defined in sky settings and add code to shaders to lerp between current and next cloud texture. 2018-06-11 22:39:57 +01:00
Graham Linden a0598b1265 Fix water fog consolidation in underwater shaders.
Add plumbing facilities to allow current and next moon textures to be passed to moon shader.

Modify moon shader to blend between current and next moon textures by blend factor.
2018-06-11 17:46:16 +01:00
Graham Linden 507c492182 Add specific shader for the moon to allow different rendering at day vs night.
Add MouseMoon positioning ala MouseSun debug setting and accessors to use it.
2018-06-08 22:22:20 +01:00
Graham Linden b6b9094d26 Fix sunlight != sunlight_color_copy and remove hack disable of clouds. 2018-06-05 20:20:43 +01:00
Graham Linden 8cfdc07e79 Code cleanup and move to using typedefs of S64Seconds/F64Seconds for ease in sync w/ sim side which has not llunits types. 2018-06-01 23:32:30 +01:00
Graham Linden 8dd8501386 Fix mis-merge of LLSettingsBase and remove optimize pragmas. 2018-06-01 15:50:25 +01:00