Commit Graph

71 Commits

Author SHA1 Message Date
Shyotl
a9c3e13e5e Removed some diagnostic spam pertaining to shaders. 2014-05-17 03:32:40 -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
7d98030edc Use the right diffuse shader for skinned deferred diffuse simple object shader. 2014-05-14 19:43:03 -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
07a261a259 A little bit of cleanup. 2014-03-27 22:04:30 -05:00
Shyotl
34a7bf4dbb Comment out unused shader. 2014-03-27 21:30:23 -05:00
Shyotl
66ebe45b5e Give 'gDeferredNonIndexedDiffuseAlphaMaskProgram' a unique 'name' 2014-01-23 19:01:49 -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
322ceceb60 Added shaders needed to display texture 'edit' overlay using the specular/normalmap texcoords. 2013-11-05 23:51:09 -06:00
Shyotl
af8f8bb040 Mats. 2013-11-02 01:20:05 -05:00
Shyotl
5e8c7264da Fix artifacts from local stash merge. 2013-10-26 19:58:54 -05:00
Shyotl
8e55d5499e Occlusion FBOs in deferred. 2013-10-26 18:07:56 -05:00
Shyotl
574022ed2c Made a few more fullbright face types occlude any glow behind them. 2013-10-26 18:01:36 -05:00
Shyotl
8441bc80a4 Use LLStaticHashedString for faster uniform lookup. 2013-10-26 16:26:46 -05:00
Shyotl
f25eb07fab Unstaged changes cleanup. Further vectorization. Change in binormal/bitangent calculation. 2013-10-09 15:43:23 -05:00
Siana Gearz
3cd16c84ef Dirty patch Intel HD4000 shader-confusion 2013-05-27 06:47:00 +02:00
Shyotl
0742610674 Updated gObjectPreviewProgram shader (simple lighting) 2013-02-12 14:59:02 -06:00
Shyotl
afaaba6b3c OSX was choking on transformfeedback shaders. Make failure to load such shaders non-critical to the shader loading process. Also clean up glColorMask state properly in wlsky. 2012-12-24 17:56:32 -06:00
Shyotl
b20f39d09f Retain shader error logs across entire session. 2012-12-19 19:06:59 -06:00
Shyotl
0460769eea Unified moon/star rendering to share same shader. Also now actually using deferred shader when performing deferred rendering. 2012-12-19 01:52:10 -06:00
Shyotl
2424d2a082 A little bit of postprocess shader tinkering. 2012-12-12 03:10:05 -06:00
Shyotl
08a3828cc9 Applied Tofu Linden's water atmospherics improvements.
59f73ee6a1 &
43fdcb8d84
2012-12-08 16:50:35 -06:00
Shyotl
5be31898f1 Don't compile avatar eye shader, as it isn't used anywhere. 2012-10-21 17:14:29 -05:00
Shyotl
438c499718 And the shader.. 2012-09-19 15:34:15 -05:00
Shyotl
afc7c2b449 Better robustness when loading shaders. Redundant shaders (eg: "deferred/shadowF.glsl") will only need to be compiled once, and LLShaderMgr::mShaderObjects won't have previous entries mistakenly overwritten as a result. 2012-09-14 02:33:07 +02:00
Shyotl
d6b470cd07 Just call LLPipeline::refreshCachedSettings() in LLViewerShaderManager::setShaders() to avoid occlusion-related crashes if certain shaders failed to load. 2012-08-15 16:21:10 -05:00
Shyotl
1d1947c51a Reworked LLPostProcess and implemented FBO support (much faster if multiple post shaders are enabled, or need a lot of passes).
Tweaked LLRenderTarget to support depth textures if FBO support is lacking.
Prefer LLRenderTarget::getFBO() over LLRenderTarget::sUseFBO when determining how to handle a specific LLRenderTarget object. (Decoupling to simplify logic without having to track a global)
2012-07-29 04:28:11 -05:00
Shyotl
46f7250f08 Fixup multisample rbos. Samplecount validation all done in LLMultisampleBuffer::allocate, and falls back to non-multisample safely if multisampled rbos cannot/shouldn't be used. 2012-07-15 21:12:31 -05:00
Shyotl
67e1a3b004 Lindie viewer-dev catchup regarding rendering pipeline. 2012-06-30 20:05:31 -05:00
Shyotl
e1d243272f V3 merge part 1 / 2. 2012-04-13 22:39:39 -05:00
Siana Gearz
70438fa06f Catching up with Lindies part 3 2012-03-26 15:01:53 +02:00
Siana Gearz
3f0f955a76 Catching up with Lindies part 2 2012-03-25 10:47:20 +02:00
Siana Gearz
459751f206 Catching up with Lindies part 1 2012-03-25 09:31:03 +02:00
Shyotl
d10724ae6f Remove some dead savedsettings. 2012-02-10 11:20:28 -06:00
Shyotl
afed6dad84 Fix deferred on mac. VBO cleanup. https://bitbucket.org/VirLinden/viewer-development-shining-fixes/changeset/853c76596bdb 2012-01-26 16:09:47 -06:00
Shyotl
1bfa72fa7c V3 merge. Slight update. Fixes lighting oddities. 2011-12-16 01:50:57 -06:00
Shyotl
0030ca3af7 Fixed extra post-process shaders. Cleaned up and no longer using deprecated functions. 2011-12-16 01:46:20 -06:00
Shyotl
ffb285c6ff Huge renderer update (WIP). Still plenty to do, especially pertaining to UI.
-Nametag bubble visbility is oddly inconsistent. May vanish with future planned UI merges...
-VBOs are PAINFULLY slow on ATI hardware. This repos self-compiled davep/shining-fixes branch, so I'll leave the ball in LL's court for now regarding that.
2011-12-09 14:02:29 -06:00
Shyotl
8e7733b2ce Lazy shader update. attribute -> ATTRIBUTE, varying -> VARYING. Moved some shader preprocessor stuff from llviewershadermgr.cpp to llshadermgr.cpp to match LL (although it looks more messy) 2011-11-24 01:03:03 -06:00
Shyotl
bf6e1d6c75 Unbork shadows. Apparently texture/texturProj do not return a vector for shadow samplers. 2011-11-23 21:30:32 -06:00
Shyotl
5d8d402403 Fix shader error dumping. (the error file was not being written to.) Also catch exceptions if shader log dir is inaccessable or otherwise unable to be cleared. 2011-11-23 21:29:42 -06:00
Shyotl
ee5a9c97be Removing some shader warnings under gl 3.x context. 2011-11-07 16:43:30 -06:00
Shyotl
b3423de80a Shaders dumped to logs/shader_dump directory if 'ShyotlDumpRawShaders' is true, or a shader throws an error of some sort. 2011-10-22 01:55:08 -05:00
Shyotl
78a98cbf08 Bump shader needs to have texture0 sample assigned to index0, and texture1 as index1. Confirmed in LLDrawPoolBump::bindBumpMap. (This probably isn't required yet, but appears safe) 2011-10-20 13:45:00 -05:00
Shyotl
91348909b5 Shuffled gObjectSimpleWaterProgram and gObjectSimpleAlphaMaskProgram around 2011-10-20 13:43:25 -05:00
Shyotl
73f2543a6f Use LLGLShader::sIndexTextureChannels instead of mNumTextureImageUnits directly.. also check that channel value isn't invalid. Also make super-sure shaders are disabled on pre opengl 2.0 hardware. 2011-10-20 13:37:09 -05:00
Shyotl
c413d62536 Decouple RenderUseFBO from RenderDeferred, as toggling deferred would leave RenderUseFBO enabled regardless of previous setting. 2011-10-17 14:11:10 -05:00
Shyotl
d1b19aa389 Automatically disable new texture batching when using legacy renderpath. 2011-10-17 12:19:43 -05:00
Shyotl
3ba4861a3b Avatar alpha masking now works with hardware skinning when not using fixed-function pipeline. 2011-09-10 15:45:28 -05:00
Shyotl
443d4e9f56 Windlight/water parameter managers now derived from standard LLSingleton instead of using some silly redundant clone. 2011-09-02 06:35:53 -05:00