summaryrefslogtreecommitdiff
path: root/indra/newview/llvovolume.h
AgeCommit message (Collapse)Author
2016-11-08Backed out changeset: 2a56972b1571AndreyL ProductEngine
Reverting MAINT-6259
2016-11-08Backed out changeset: 27782e83386bAndreyL ProductEngine
Reverting MAINT-6793
2016-10-18MAINT-6793 Rigged mesh sometimes full of holesandreykproductengine
2016-07-19MAINT-6259 rigged items' LOD should be size dependent, not only avatar dependentandreykproductengine
2016-07-18Backed out changeset: a1a0a055e892andreykproductengine
2016-07-04MAINT-6259 rigged items' LOD should be size dependent, not only avatar dependentandreykproductengine
2016-01-15merge changes for 4.0.1-releaseOz Linden
2015-11-11Backed out changeset: a79540758404ruslantproductengine
Need backed out this changes because it influence on material update see: MAINT-5818 Also this lead to the following: UserA and UserB logged in same location. UserA edit normal/specular map texture offsets while UserB is not observe this changes.
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-09-04MAINT-5416 FIXED Cannot right-click a rigged mesh that's wornAndreyL ProductEngine
--HG-- branch : maint-5416
2015-07-23MAINT-5416 Reverted changeset: 9bd24c17d908AndreyL ProductEngine
2015-07-17MAINT-5416 FIXED cannot right-click a rigged mesh that's wornAndreyL ProductEngine
2015-06-10MAINT-4297 (Mesh models sometimes fail to load completely)ruslantproductengine
MAINT-4449 (Starter avatars deformed or missing alpha under some conditions / graphics cards / LOD ) BUG-7239 (Starter avatars deformed or missing alpha under some conditions / graphics cards / LOD) The reason of problem on avatar (or one of avatar attachments) "deformed" it's selected volume (LLVolume) with a lower LOD. How it works. Why it happens? Each LLVOVolume object has variable mLOD which is indicate which is LLVolume should be assigned to LLPrimitive::mVolumep. The assigment happens in LLVOVolume::setVolume which is call LLPrimitive::setVolume, which is then lookup desired volume in LLVolumeMgr class which is keep as I understand all volume groups for all objects in scene. The data (mesh) for LLVolume class is loading from LL servers by http, and if sucessfully the variable LLVolume::mIsMeshAssetLoaded assigned to true. But sometimes the data may not be ready, and in this case the LLVOVolume::setVolume make request for download mesh (to the LLMeshRepository) and setup one of available lod. All of this things happens in (see: LLVOVolume::setVolume, code: block if (!getVolume()->isMeshAssetLoaded() {...}) When LLMeshRepository sucessfully download the mesh it's set (as I said above LLVolume::mIsMeshAssetLoaded, LLVolume::setMeshAssetLoaded()) and then also notify LLVOVolume::notifyMeshLoaded() about it. This causes add LLVOVolume::mDrawable into the pipline build list (see LLVOVolume::notifyMeshLoaded()) and set LLVOVolume::mSculptChanged; In order to process it later in LLVOVolume::updateGeometry (In order to see the mechanism of LLPipiline build list processing set bp in this method and see the stack). After the LLDrawable will be processed it will be removed form the build queue also all falgs will be reseted (see the end of LLVOVolume::updateGeometry). And here is the problem in variable-flag's "*Changed" processing (in LLVOVolume::updateGeometry): What if by the time of processing the mFaceMappingChanged also will be set (due to other changes in engine)? It means that LLVOVolume::setVolume will not be called and LLPrimitive::mVolumep remain unchaged and would point to the LLVolume for a lower LOD. My changes intended for fix this problem. BTW this is true for not only for standard avatar's. The reason why it is well visible on standard avatars is because it has a more "ugly" lower-LOD-s, than on avatars which is was loaded by the SL-users. For example on my DudtPank avatars I didn't see big difference between LOD-0 and LOD-3. If you want you can "play" with it in LLVOVolume::calcLOD() with add code if(getAvatar() && getAvatar()->isSelf()) { mLOD = <desired lod level [0..3]> }
2015-05-19MAINT-3548 - FIXED-R2 Horizontal & vertical offset values for normal & ↵vyacheslavsproductengine
specular maps still randomly revert to previous settings when building.
2015-01-07MAINT-4773 FIXED Some transparent textures are rendered as white.ruslantproductengine
This bug fix related also to MAINT-4092. In 4092 sometimes when we don't have information about the texture during the setup the materail (LLVOVolume::setTEMaterialParams()), we should substitute the material with disabled "diffuse alpha mode" (for detail in cases see MAINT-4092 JIRA ticket comment). This bug fix cover the case when after the loading texture we have all information about alpha mode, and in this case we should restore diffuse alpha mode if need. In short: now we always believe that information about the material is valid (LLVOVolume::setTEMaterialParams()). Of course before setup it we check information about texture (if it possible) , if texture is not exist in database or not 32 bit depth (for diffuse) we made changes. But in all other cases (if we can't receive information about texture) we remeber this case in mWaitingTextureInfo multimap. When information about texture will be available we get it in: LLVOVolume::notify AboutCreatingTexture() or Volume::notifyAboutMissingAsset() and again, we recheck it and if need change (substitute) the material parameters. I suppose that this solution is better than was before. If this patch will be accepted , I think that MAINT-4092 should be rechecked again.
2013-06-03NORSPEC-229 Fix for bad binormals on mirrored surfaces (use tangent ↵Dave Parks
calculator instead of binormal calculator, convert binormal centric code to tangent centric)
2013-05-25Merge viewer-dev-matGraham Madarasz
2013-05-24NORSPEC-96 NORSPEC-189 another attempt at planar stretch across all 3 ↵Graham Madarasz
channels and make the materials CB use a UUID instead of this pointer for safety
2013-05-24norspec-107: remove the need for a friend declaration in local texturesOz Linden
2013-05-24MATBUG-8: fix local texture support for normal and specular mapsSerpentu
2013-05-17NORSPEC-189 restore old mat param update registrationGraham Madarasz (Graham)
2013-05-16Merge beta fixesGraham Madarasz
2013-05-16NORSPEC-189 return to inefficient material update reg to avoid crashes from ↵Graham Madarasz
brundlefly solution with old reg and new callback
2013-05-11Fix many issues with selection misapplication and rendering not matching ↵Graham Madarasz
applied materials
2013-04-25Merge 3.5.1 into MaterialsGraham Madarasz
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-01-28Basic normal mapping support.Geenz
2013-01-25Trying to set materials up for rendering! Yay!Geenz
2012-10-09Initial pass at getting a list of viewer objects with non-null material IDs.William Todd Stinson
2012-09-04merge changes for DRTVWR-207Oz Linden
2012-08-31merge changes forOz Linden
2012-08-29MAINT-1455 FIX Media Texture not visually updated correctlycallum
Reviewed by me. (Bao created)
2012-07-31Merge in viewer-developmentsimon@Simon-PC.lindenlab.com
2012-07-17pull back fixes for 3.3.4-beta4Oz Linden
2012-07-16MAINT-1223 Fix for alpha updates not triggering LoD updates.Dave Parks
2012-06-20MAINT-794 Move flexi idleUpdate and texture animation to their own update ↵Dave Parks
queues.
2012-06-19MAINT-794 Factor out a lot of CPU overhead around updating objects.Dave Parks
2012-06-08MAINT-646 Optimize LLVolumeImplFlexible::doIdleUpdate()Dave Parks
2012-05-01MAINT-775, MAINT-1022 Regression cleanup.Dave Parks
2012-04-19MAINT-775 Cleanup of some weird corner cases on animated child prims.Dave Parks
2011-11-30Automated merge with http://hg.secondlife.com/viewer-developmentRichard Linden
2011-11-28bumped up MSVC warning level to 3 to catch more stuff that gcc catchesRichard Linden
2011-11-10SH-2644 Fix debug display that shows selection triangle count and streaming costDave Parks
2011-08-22mergeBrad Payne (Vir Linden)
2011-08-16FIX SH-859, SH-1274 - added fix for determining triangle count andNyx (Neal Orman)
performance tested impact of animated textures Also did some cleanup to ensure branch built and ran properly after last merge.
2011-07-28fix for SH-2023: Brightness Bump maps don't load when shadows are enabledXiaohong Bao
2011-04-08merging mesh-development into nyx's mesh developmentNyx (Neal Orman)
2011-04-04SH-477 Scene stats console work in progress.Dave Parks
2011-03-30SH-477 Better mesh streaming cost estimation.Dave Parks
2011-03-22initial effort to enable a debug display to show render complexity.Nyx (Neal Orman)
Using for internal demo, will get it code reviewed if it merges in.