Commit Graph

122 Commits

Author SHA1 Message Date
Shyotl
43ab8a2e36 Do not attenuate specular map with diffuse map trasnparency. 2019-07-03 16:00:33 -05:00
Shyotl
7b5d7376c6 Make opengl extension loading be core compliant. Avoid issuing glGetString before context creation on Windows. 2019-03-25 19:21:45 -05:00
Shyotl
f3afe45e72 Fixed some gl errors. 2019-03-25 02:56:20 -05:00
Shyotl
e1cf05c327 Enable compressed texture. Also minor cleanup. 2019-03-01 22:19:11 -06:00
Shyotl
bb67cba384 Bring alpha specular face blending in line with official viewer. 2018-11-19 00:43:51 -06:00
Shyotl
736696ac36 Track glEnable states via static refs instead of map lookups.
Sync light state, bound shader, and various gl context states similarly to render matrices.
Texture handles now refcounted, as multiple viewer textures could ref the same handle (cubemaps do this)
Clean up gl extension loading a bit. Not necessary, but only look for ARB variants if not included in current core version. Removed unused extensions.
Use core shader api if supported, else use ARB. (FN signatures are identical. Just doing some pointer substitution to ARB if not core.)
Attempt at improving VBO update batching. Subdata updates better batched to gether per-frame.
There's probably other stuff I forgot that is in this changeset, too.

Todo: Fix lightstate assertion when toggling fullscreen with shaders off.
2018-11-19 00:37:48 -06:00
Shyotl
d11899561b Optimization pass. 2018-08-07 01:09:53 -05:00
Shyotl
71f3002717 Merge branch 'master' of github.com:Shyotl/SingularityViewer
# Conflicts:
#	indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl
2018-08-06 20:42:32 -05:00
Shyotl
50a0902f92 Fix projector reflections. 2018-02-19 01:58:32 -06:00
Shyotl
ecc820f784 Fix shader compilation errors. Pulling bits and pieces out of massive set of unstaged changes never ends well.. 2018-02-04 23:23:04 -06:00
Shyotl
85cb3cb0d0 Clean up deferred shaders by moving common methods into shared glsl file 2018-02-04 23:08:31 -06:00
Shyotl
54fc42cc73 Fixed ssao without shadows enabled. (Thanks LightDrake) 2018-02-04 23:02:01 -06:00
Shyotl
a3b37f58e3 Tweak shadows to look a little less crap. 2018-02-04 23:00:55 -06:00
Shyotl
647e6afa14 Tweak shadows to look a little less crap. 2017-11-25 19:20:21 -06:00
Shyotl
97a6f3a7b2 noisemap tweaks and cleanup. 2017-03-27 23:13:56 -05:00
Shyotl
d42e380698 Minor cleanup. 2017-03-13 23:54:56 -05:00
Shyotl
75c47e96b6 Fixed numerous bugs. 2017-03-09 23:49:56 -06:00
Shyotl
d39ad79986 Update more full-screen shaders to no longer require texcoord attribs. 2017-02-18 01:18:39 -06:00
Shyotl
5e501b9611 Removed TT_RECT_TEXTURE and removed unnecessary shaders. 2017-02-17 23:37:46 -06:00
Shyotl
98516a2a22 Bento hell and back, and back to hell, and back. 2017-01-11 03:55:36 -06:00
Shyotl
95f56f040a Do not discard transparent specular-mapped fragments. 2016-06-18 15:35:11 -05:00
Shyotl
be5d2f20bc llrender and lldir merge. Removed duplicate assets from skins. cleaned up skin textures.xml files to only include changes from default. 2016-04-11 02:51:08 -05:00
Shyotl
af41a652e4 It's silly that this was necessary... but it was. 2015-02-25 03:04:49 -06:00
Shyotl
7c636c6c17 Remove unused linear_to_srgb function from several shaders. 2015-01-29 17:49:18 -06:00
Shyotl
cd85afc9a5 Quick workaround to fix issue with simple geom not rendering in deferred 'underwater' pass. 2014-07-21 20:28:23 -05:00
Shyotl
e2fa94e2c3 Fixed water normals. 2014-07-05 19:09:21 -05:00
Shyotl
7d8af7d413 Use one shared vbo to draw fullscreen rectangles in LLPipeline, for both deferred and non-deferred. Provides a nice bit of cleanup. 2014-07-03 17:09:27 -05:00
Shyotl
869517b9c6 Evidently a line in objectSkinV.glsl escaped earlier staging. 2014-06-22 03:43:43 -05:00
Shyotl
ee60a9801b Appease some nVidia cards/driversets regarding skinned shaders. 2014-05-27 20:18:48 -05:00
Shyotl
67c8ac2b04 Skinned shaders were exceeding maximum amount of vertex uniforms on amd hardware.
-Changed the transform matrix uniform to a 3x4 matrix and packed translation into it to free up uniforms. (3x3 is converted to 3x4 internally, so we were needlessly eating 3*52 extra uniform slots. translationPalette might also have been treated as a vec4 internally too, wasting 52 more slots.)
-matrix3x4 requires opengl2.1 and newer, so added a new featuretable mask.
-Also added a featuretable mask to disable hardware skinning and deferred shading on hardware with less than 1024 vertex uniforms.
NOTE: On old old old amd hardware, evidently a 3x4 matrix might be upgraded to 4x4. I'm unsure, but I doubt such hardware has 1024+ uniform components available to begin with. 4x3 supposedly doesn't do this, but opengl is column-major, so this makes little sense.
2014-05-17 03:31:45 -05:00
Shyotl
c3771e2fd5 Removed unused preprocessor definition in objectSkinV.glsl 2014-05-15 16:23:14 -05:00
Shyotl
3db9c6a9ff Try mask-based object shader configuration, instead of a bazillion hard-coded shader globals. Should be a bit more consistent. (non-deferred only, for now)
Also abuse discard in alpha shaders, instead of processing invisible fragments.
2014-05-14 03:30:02 -05:00
Shyotl
98f9a09b39 sunlight_color_copy need only be vec3. 2014-05-08 16:39:41 -05:00
Shyotl
162e7b7699 Fixed a silly mistake that was causing vsync to be enabled when it should have been. Also fix typo in objectSkinV.glsl previous commit 2014-05-08 15:30:02 -05:00
Shyotl
7158a3c83d Fixed an annoying showstopper regarding rigged attachment vertex corruption. Rigged meshes have can have poor weighting, causing potential div-by-zero issues. 2014-05-08 15:11:12 -05:00
Shyotl
f7fdeeea9b Be super sure not to let rigged vert weights extend beyond actual joint count. 2014-02-10 20:18:39 -06:00
Shyotl
58b7fe5fef Avoid potential buffer over-read in shader, overrun in application. 2014-01-28 16:28:03 -06:00
Latif Khalifa
aaf06fa2cc FITMESH-6, FITMESH-20 Fix for some objects disappearing when hardware skinning enabled and ALM disabled.
NOTE: There appears to be a driver bug on some AMD systems that will cause hardware skinning to break given different combinations of shaders. Users should be advised that if they see improper skinning on their avatars, they should either enable advanced lighting model, or disable atmospheric shaders or hardware skinning.

davep
2014-01-24 12:26:43 +01:00
Latif Khalifa
269deb56e6 Fitted mesh 2014-01-24 01:11:27 +01:00
Shyotl
e00e704cbd Fix minor error in shader which prevented ssao from working with shadows enabled. 2013-12-24 20:16:05 -06:00
Shyotl
7da8b012e6 Pulled SSAO out into its own shader to support running at a lower-than-native framebuffer resolution (defaults at half-resolution [SHRenderSSAOResolutionScale=.5] ). This doesn't improve the slow ssao/shadow softening, however, as that bit remains unchanged. 2013-12-13 02:19:57 -06:00
Shyotl
78e3d61b98 Remove ambient occlusion darkening from all deferred shaders except the one that actually calculates occlusion values.. (aka every shader except class2/softenLightF.glsl) 2013-11-28 21:07:25 -06:00
Latif Khalifa
594eacb480 Merge branch 'master' of git://github.com/Shyotl/SingularityViewer 2013-11-19 04:44:55 +01:00
Shyotl
030588caaf Underwater shadows. 2013-11-18 09:57:35 -06:00
Siana Gearz
a5103a1fc1 Sprinkle some Intel GPU support on Linux 2013-11-18 04:22:21 +01:00
Siana Gearz
749d0eec28 Merge https://github.com/abaph/SingularityViewer
Brings in support for MESA accelerators.
2013-11-17 16:38:06 +01:00
Shyotl
d4a3cb168c Altered the deferred alpha fragment shader to handle alphamasking when drawing avatar hair/skirts. (Special handling for these two seems weird, considering all other mesh parts are also alphamasked.. It also prevents skirts from casting shadows. Future alteration may be desired.) 2013-11-13 12:59:21 -06:00
Shyotl
3ed249cba5 Retain cubemap reflection on shiny faces while in shadowed, but don't bloom the sun reflection. 2013-11-13 01:35:31 -06:00
Shyotl
584e5176a4 Err closer to LL regarding shadows, however also fixed alpha face shadows to look like all other shadows. 2013-11-13 01:30:45 -06:00
Shyotl
203ae9dfa3 Fix uninitialized variable warning in alphaF.glsl. Also made USE_VERTEX_COLOR actually work if FOR_IMPOSTOR is set. 2013-11-11 18:56:16 -06:00