Shyotl
966c5aa409
Remove redundant methods of checking if shaders are enabled. Just use LLGLSLShader::sNoFixedFunction.
2015-05-16 02:31:06 -05:00
Shyotl
8943439629
Remove dupilicate perlin noise impl, and update the remaining one.
2015-05-16 02:30:32 -05:00
Shyotl
315618a18b
Fixed materials specularmap + glossiness=0 combination.
2014-08-23 01:34:25 -05:00
Shyotl
061178ad82
Migrated gl matrix stack to LLMatrix4a
2014-06-22 03:34:51 -05:00
Shyotl
8f6a578ec0
Migration to LLMatrix4a instead of glh::matrix4f
2014-06-15 22:42:32 -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
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
5805fe636a
Determine if to stuff shiny data into alpha component a bit differently. Cuts out a lot of crazy logic and lets us choose based off of target renderpass.
2014-05-14 03:38:16 -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
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
5988f6cf88
Updated rigged mesh face batch/pool handling.
...
Fixed issue with fullbright and glow occlusion.
RenderTransparentWater toggling should work more gracefully.
Fixed some bugs in general drawpool classification for faces. Bump pool was superceding more than it should have.
2014-03-27 21:27:40 -05:00
Shyotl
dda7cb5791
Lazy workaround avoiding undefined behavior for rigged meshes with invalid joints.
2014-02-10 20:20:03 -06: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
af8f8bb040
Mats.
2013-11-02 01:20:05 -05:00
Shyotl
8441bc80a4
Use LLStaticHashedString for faster uniform lookup.
2013-10-26 16:26:46 -05:00
Shyotl
ccff8475c1
Mesh vertex corruption fix taken from LL upstream.
2013-07-11 20:54:04 -05:00
Shyotl
03272c8875
Clamp LLMeshSkinInfo::mJointNames to a max of 64 entries. Also checking size in lldrawpoolavatar(Redundant checks added to just match similar logic LLRiggedVolume::update more closely.)
2013-03-30 01:01:53 -05:00
Shyotl
1965224912
Stabbed some blendfunc state issues. This fixes some ui flicker which popped up recently (perhaps after merging, or I just never noticed it before then)
2013-03-30 00:57:49 -05:00
Shyotl
76f3dc9e19
Massive sunshine/viewer-dev catchup. Further implemented serverside baking and added/updated metrics feedback.
2013-02-19 01:50:46 -06:00
Drake Arconis
f50d23a0d4
Fast Timers brought up to linden equiv
2012-09-14 00:30:52 -04:00
Shyotl
b101bb0001
MAINT-646: Faster traversal of render batch lists. https://bitbucket.org/davep/viewer-development/changeset/38b7779af5f9
2012-07-17 23:38:34 -05:00
Drake Arconis
c464a8da30
Merge branch 'V2MultiWear' of bitbucket.org:Lirusaito/singularityviewer into AltCompilers
...
Conflicts:
indra/cmake/00-Common.cmake
indra/newview/llvovolume.cpp
2012-07-02 20:16:56 +00:00
Drake Arconis
ece9dda7b4
Initial support for the Clang compiler and numerous warning fixes
2012-07-02 19:45:41 +00: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
Shyotl
6374f012de
new fasttimers, including ui.
2012-01-23 18:30:54 -06:00
Shyotl
b338506229
VBO updates from Vir Lindens shining fixes. VBO mapping perf improvement. Alpha rigged attachments render fix, hopefully. Crashfix in void pushWireframe.
2012-01-19 19:01:44 -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
1fd908b2c4
Removed maximum_alpha uniform (as it's always 1.0 anyhow)
2011-11-19 15:13:16 -06:00
Shyotl
06048ae818
Fixed avatars being invisible when using legacy path. Assumption of no shader use when LLGLSLShader::sNoFixedFunctionis false is not valid with Singularity.
2011-10-17 12:16:57 -05:00
Shyotl
d58df6445c
Disabling this tweak. Can look into fixing it later, but it's not a priority right now and it's not working completely right.
2011-10-04 21:51:38 -05:00
Shyotl
1fb1ba05ce
Optimization. Skip binding for rigged face types that have no faces to display.
2011-09-12 15:30:42 -05:00
Shyotl
48abb8280f
SH-2188. Invalid VBO updates for rigged attachments.
2011-08-18 00:28:42 -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
c9860f7b66
Massive deferred update...
...
Plus renamed setupViewport to setup[2|3]DViewport.
Migrated mWindowRect to mWindowRectRaw, mVirtualWindowRect to mWindowRectScaled.
Slowly updating getwindow/getworldview calls to new v2 variants as I run across them.
Cleaned up ascent-related code in llmanip.cpp.
Impostor update tweaks.
Edgepatch water occlusion changes. (no patch flickering on edges of screen while moving camera)
2011-08-11 03:16:17 -05:00
Shyotl
04ea6a967e
Removed dead code related to 'RenderForSelect'.
2011-08-09 02:11:10 -05:00
Shyotl
9bda97786f
Batch indexing/no-fixed-function WIP.
2011-08-09 01:11:05 -05:00
Shyotl
7bcd259821
Added ShyotlRenderVBOStrideMode to toggle between strided and unstrided VBOs.
2011-08-05 19:24:17 -05:00
Shyotl
f5915ab83c
Some fixes and cleanup for strided vbos. Added LLStrider::assignArray to clean up some loops, as well as replace LLVector4a::memcpyNonAliased16. Works with both unstrided and strided vbo elements, and alignment padding (LLVec4->LLVec3,etc)
2011-08-01 18:19:08 -05:00
Shyotl
b258b71e07
Flipped the MESH_ENABLED switch. Added missing components and updated stuff to be closer to mesh-development head.
2011-07-30 20:30:07 -05:00
Shyotl
1e92e734d8
Bulk of mesh. Excluded via #if MESH_ENABLED. LLModel still needs updated for strided vbos, Collada SDK needs to be wrangled, and misc pieces need to be found and brought over. Skipping inventory stuff until meshes are at least displayable.
2011-07-23 03:26:30 -05:00
Shyotl
d1d6994419
Full v2.6 renderer.
2011-05-12 00:13:38 -05:00
Shyotl
e756140e1d
Innitial commit of experimental v2 texture system port work. Compiles and runs on windows, at least. Fixing bugs as they come.
...
Need to test:
localassetbrowser
preview related floaters
hgfloatertexteditor
maps
media textures! Currently very hacky
web browser
alpha masks on avatars
bumpmaps
Are all sky components appearing?
LLViewerDynamicTexture (texture baking, browser, animated textures, anim previews, etc)
Snapshot related features
Customize avatar
vfs floater
UI textures in general
Texture priority issues
2011-03-31 03:22:01 -05:00
Shyotl
996aaf6345
V2 spatial partition, and all the pipeline changes that go with it.
...
Note: Deferred mode is not finished, and thus broken. Don't use!
2011-03-10 23:05:04 -06:00
Shyotl
694f95269e
Added LLFace::canRenderAsMask()
...
Added LLVOVolume::isVisible()
Avatar VBO now uses stream type under all scenarios. Todo: Perf test.
Added other misc render-related tweaks that looked safe.
2011-03-02 20:32:10 -06:00