Shyotl
050a8c3923
Use sse copy for vertex and texcoord data.
2020-05-16 22:48:41 -05:00
Router Gray
159de683e8
Correct a logical OR in llrender, and add guards against mCount dropping below zero. (Alchemy and LL sync)
2020-04-26 00:04:48 -05:00
Shyotl
3bc4d6fd63
Fix UI backgrounds vanishing when toggling basic shaders on and off.
2019-07-17 20:20:41 -05:00
Shyotl
e1cf05c327
Enable compressed texture. Also minor cleanup.
2019-03-01 22:19:11 -06:00
Shyotl
04ea11c61e
Make gcc happier.
2018-11-20 02:49:57 -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
4a9ff22eeb
I was critically damp once. It was okay.
2017-03-14 01:44:26 -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
5d96bd8966
Fix winding issues with various ui draw methods. Face culling is actually disabled during ui rendering, but it's still good to do winding correctly regardless. Also automated tri strip batching.
2017-02-24 01:49:31 -06:00
Shyotl
5e501b9611
Removed TT_RECT_TEXTURE and removed unnecessary shaders.
2017-02-17 23:37:46 -06:00
Shyotl
693781a014
Remove all QUADS usage. Replaced with TRIANGLES and TRIANGLE_STRIP. May do another pass and replace un-textured TRIANGLE_STRIPs with TRIANGLES to reduce flush calls.
2017-02-11 02:03:06 -06: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
1c627317ec
No longer include llerrorlegacy.h. Updated llstl to include deletion utilites.
2015-06-19 03:54:20 -05:00
Shyotl
0688cda8d2
More thorough VBO teardown in resetVertexBuffers/stopGL. Also, found cases where gGL.init failed to be called when it should have been.
2015-06-01 17:58:19 -05:00
Shyotl
966c5aa409
Remove redundant methods of checking if shaders are enabled. Just use LLGLSLShader::sNoFixedFunction.
2015-05-16 02:31:06 -05:00
Shyotl
061178ad82
Migrated gl matrix stack to LLMatrix4a
2014-06-22 03:34:51 -05:00
Shyotl
24ca32f9f7
Replace gluProjectf/gluUnprojectf with own versions. Also changed gGLModelView/gGLProjection and other related matrices to LLMatrix4a.
2014-06-06 01:59:04 -05:00
Shyotl
98f9a09b39
sunlight_color_copy need only be vec3.
2014-05-08 16:39:41 -05:00
Shyotl
e2a0f801b9
Have LLRender::color4ub fall back to uniform if bound vbo lacks color attribute. Fixed fixed-function call in LLFacePool::LLOverrideFaceColor::setColor.
2014-05-08 16:29:53 -05:00
Shyotl
af8f8bb040
Mats.
2013-11-02 01:20:05 -05:00
Shyotl
f4863527aa
Migrate ui scale/translation transform matrix stacks to LLAlignedArray.
2013-10-26 16:29:38 -05:00
Shyotl
70e008bf98
Fix some subtle bugs in llrender.
2013-04-15 18:10:38 -05:00
Shyotl
b07ab02f54
Added blendfunc checks when RenderDebugGL is TRUE.
2013-03-30 01:26:07 -05:00
Shyotl
d71210e942
Trivial changes, mostly to clean up diff noise. Majority of changes are comment corrections or licenseinfo updates. (does not include newview directory)
2013-01-07 14:44:54 -06:00
Shyotl
7aac61859f
Avoid excess calls to gGL.flush when bound texture hasn't actually changed.
2012-12-08 01:01:47 -06:00
Shyotl
1a741b97d2
Fixed LLGLState::checkStates() failing upon context re-creation:
...
-After new context creation, immediately call LLRender::refreshState() after LLViewerWindow::initGLDefaults() in order to force states to apply.
--LLRender::initGLDefaults optimizes out gl calls by caching states, but the cached values are only applicable to the old context, not the new, so this optimization must be skipped (LLRender::mDirty).
-LLViewerWindow::mStatesDirty also triggered a redundant shader reload, since restoreGL also called setShaders().
Fixed somewhat annoying flicker of a single frame whilst recovering from screen resizing.
-Skip frame if LLViewerWindow::checkSettings() called LLViewerWindow::reshape. (reshape will set gWindowResized to true)
--True optimal fix will require some refactoring.
Reworked how window position is saved in LLViewerWindow::changeDisplaySettings. Hopefully reduces chances of odd behavior (had WindowX and WindowY get stuck at massive negative values before)
2012-10-25 20:42:58 -05:00
Shyotl
1b89e5c973
Dragged in a bunch of alignment fixes from LL. Should allow disabling of tcmalloc on windows/linux32 if such is ever implemented.
2012-10-16 02:33:05 -05:00
Shyotl
ff81d9461a
Added motionblur postprocess shader.
...
Conflicts:
indra/newview/skins/default/xui/en-us/floater_post_process.xml
2012-09-19 15:33:58 -05:00
Shyotl
b8276fd8e3
MAINT-685: Fix for disabling basic shaders making high detail terrain render incorrectly. http://hg.secondlife.com/viewer-development/changeset/218a7b78dcc5f53f38de063f3a229a7462fe052f
2012-08-20 05:10:15 +02:00
Shyotl
d2b13f515d
Avoid several excessive per-frame LLView::getChildView calls by instead caching the results in postBuild. (Added CachedUICtrl, which is basically just a self-nulling pointer to not have to make ui ctors dirtier)
2012-08-03 20:51:53 -05:00
Shyotl
d9e5601e10
Manually vectorized some of the UI vertex operations.
2012-08-03 13:12:02 -05:00
Shyotl
c385133c84
Fixed noisemap not binding for the nightvision shader.
2012-08-03 13:10:16 -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
67e1a3b004
Lindie viewer-dev catchup regarding rendering pipeline.
2012-06-30 20:05:31 -05:00
Shyotl
ae0804beea
Trival V3 llmath merge.
2012-05-21 20:23:42 -05:00
Siana Gearz
459751f206
Catching up with Lindies part 1
2012-03-25 09:31:03 +02:00
Shyotl
f7b2139e81
Renderer update. Incl mac fixes, DoF improvements, windlight floater code cleanup. (shining-fixes merge)
2012-02-09 14:26:21 -06:00
Shyotl
7805508e8d
SH-2827 crashfix. https://bitbucket.org/VirLinden/viewer-development-shining-fixes/changeset/806c10f621af
2012-01-19 10:36:56 -06:00
Shyotl
21b6b89577
If this assert hits then I want your callstack, and so does Bao Linden. SH-2827
2012-01-12 23:28:38 -06:00
Shyotl
a53e08032f
Prep for UI matrices.
2011-12-11 01:13:47 -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
83e8a9076b
Several gl calls now wrapped via LLRender (gGL) as prep for future changes:
...
glMatrixMode -> gGL.matrixMode
..GL_MODELVIEW -> LLRender::MM_MODELVIEW
..GL_POJECTION -> LLRender::MM_PROJECTION
..GL_TEXTURE -> LLRender::MM_TEXTURE
glMultMatrix -> gGL.multMatrix
glLoadMatrixf -> gGL.loadMatrix
glPushMatrix -> gGL.pushMatrix
glPopMatrix -> gGL.popMatrix
glLoadIdentity -> gGL.loadIdentity
glRotatef -> gGL.rotatef
glTransformf -> gGL.transformf
glOrtho -> gGL.ortho
glColor3f -> gGL.diffuseColor3f
glColor3fv -> gGL.diffuseColor3fv
glColor4f -> gGL.diffuseColor4f
glColor4fv -> gGL.diffuseColor4fv
glColor4ubv -> gGL.diffuseColor4ubv
glLightModelfv(GL_LIGHT_MODEL_AMBIENT -> gGL.
2011-11-21 15:55:44 -06:00
Shyotl
70909f86c8
Changed some GL matricies to single precision.
2011-11-19 19:05:19 -06:00
Shyotl
5e829b7a3a
LLRender's vertexbuffer created via init now, instead of ctor. Allows deallocation/reallocation.
2011-10-08 02:58:23 -05:00
Shyotl
f551294e66
Alphamasking migrated to shaders instead of using fixed-function. Very early code. Hasn't even made it into viewer-development yet.
2011-08-12 19:20:11 -05:00
Shyotl
ca328aec72
Replaced some opengl fixed functions with shaders. Temporary ShyotlUseLegacyRenderPath setting to debug if this change actually improves framerate at all (setting not tied to callbacks. Have to toggle shaders to have stuff pick up the setting change)
2011-08-10 03:53:49 -05:00
Shyotl
9bda97786f
Batch indexing/no-fixed-function WIP.
2011-08-09 01:11:05 -05:00
Shyotl
e21c9637ae
Added some glFlushes to lessen framestalls
2011-07-31 19:01:59 -05:00