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