summaryrefslogtreecommitdiff
path: root/indra/llprimitive/llmodel.cpp
AgeCommit message (Collapse)Author
2025-08-08Merge branch '2025.05' into 2025.06Erik Kundiman
2025-07-18Merge tag 'Second_Life_Release#f5d350fb-2025.05-gltf-mesh-import' into 2025.05Erik Kundiman
2025-07-03#4242 Debug dump improvementAndrey Kleshchev
for better comparison with collada output
2025-06-24Merge tag 'Second_Life_Project#1a6e3286-GLTF_Mesh_Import' into gltf_mesh_importErik Kundiman
2025-06-19#4214 Revert and remake "weights remap"Andrey Kleshchev
This reverts commits fe10a83f69bb26eb581e143fb99c1250c355938b and 08f6f5c697fce4ccbfba357ab9ce5af915dd0574..
2025-06-19#4250 Crash uploading a dae modelAndrey Kleshchev
2025-06-11#4248 Add safety checks to LLMeshSkinInfo::asLLSD()Andrey Lihatskiy
2025-06-05#4214 Weights and Joints remapAndrey Kleshchev
2025-05-30Merge remote-tracking branch 'secondlife/project/gltf-mesh-import' into ↵Erik Kundiman
gltf-mesh-import
2025-05-29Merge branch 'main' into 2025.05Erik Kundiman
2025-05-28#4080 Rigged mesh support #6Andrey Kleshchev
For now not touching normalizeVolumeFaces() to not brick dae upload
2025-05-12Not rely on LL_USESYSTEMLIBS for choosing zlib implErik Kundiman
with the effect of choosing zlib over zlib-ng in any condition, which has been the case so far. But this opens the way to relying on some other condition, such as which platform, for deciding whether we can use zlib-ng or not, instead of zlib. So we can freely use, for example LL's prebuilt, zlib-ng while still using system libraries for others.
2025-04-10Merge commit '9e24b30' into marchcat/maint-c/restoreAndrey Lihatskiy
# Conflicts: # indra/llmath/v2math.cpp # indra/llmath/v2math.h # indra/llmath/v3math.h # indra/llmath/v4math.h # indra/llui/llfolderviewitem.cpp # indra/llui/llfolderviewitem.h # indra/llui/llfolderviewmodel.h # indra/llui/llmodaldialog.cpp # indra/llui/lltexteditor.cpp # indra/llui/lltexteditor.h # indra/llwindow/llwindowwin32.cpp # indra/newview/llagent.cpp # indra/newview/llagentcamera.h # indra/newview/llavatarrenderinfoaccountant.cpp # indra/newview/llconversationmodel.h # indra/newview/llfloaterinventorysettings.cpp # indra/newview/llfloaternamedesc.cpp # indra/newview/llfloaternamedesc.h # indra/newview/llfloaterobjectweights.cpp # indra/newview/llfloaterobjectweights.h # indra/newview/llfolderviewmodelinventory.h # indra/newview/llinspecttexture.cpp # indra/newview/llinventorybridge.cpp # indra/newview/llinventorybridge.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventorygallery.h # indra/newview/llinventorygallerymenu.cpp # indra/newview/llinventorymodel.cpp # indra/newview/llinventorypanel.cpp # indra/newview/llinventorypanel.h # indra/newview/llmaterialeditor.cpp # indra/newview/lloutfitgallery.cpp # indra/newview/lloutfitgallery.h # indra/newview/lloutfitslist.cpp # indra/newview/lloutfitslist.h # indra/newview/llpanelgroupcreate.cpp # indra/newview/llpanelgroupgeneral.cpp # indra/newview/llpanelobjectinventory.cpp # indra/newview/llpaneloutfitsinventory.h # indra/newview/llpanelprofile.cpp # indra/newview/llpanelwearing.cpp # indra/newview/llreflectionmap.cpp # indra/newview/llselectmgr.cpp # indra/newview/llsidepanelappearance.cpp # indra/newview/llsidepaneliteminfo.cpp # indra/newview/llteleporthistorystorage.cpp # indra/newview/lltexturectrl.cpp # indra/newview/lltexturectrl.h # indra/newview/lltexturefetch.cpp # indra/newview/lltexturefetch.h # indra/newview/llviewerassetupload.cpp # indra/newview/llviewercamera.cpp # indra/newview/llviewercamera.h # indra/newview/llviewermenufile.cpp # indra/newview/llviewerobject.h # indra/newview/llviewertexture.cpp # indra/newview/llviewerwindow.cpp # indra/newview/llvoavatar.cpp # indra/newview/llvoavatar.h # indra/newview/llvoavatarself.cpp # indra/newview/llvovolume.cpp # indra/newview/llvovolume.h # indra/newview/tests/llviewerassetstats_test.cpp
2024-10-04cherry pick secondlife/viewer#912 BugSplat Crash 1412267: nvoglv64+0xadcd00 ↵Brad Linden
(#2785) * secondlife/viewer#912 BugSplat Crash 1412267: nvoglv64+0xadcd00 * fix cherry-pick merge breakage. * Fix signed/unsigned error --------- Co-authored-by: Alexander Gavriliuk <alexandrgproductengine@lindenlab.com>
2024-09-16Profile guided optimization pass (#2582)Dave Parks
- Tune up LLJointRiggingInfoTab - Visualize joint bounding boxes when visualizing joints - Use LLJointRiggingInfo to caclulate desired resolution of a texture - Throttle calls to calcPixelArea - Fetch MeshSkinInfo immediately when header is received
2024-07-08Re-enable compiler warnings C4244 and C4396 except for lltracerecording.h ↵Ansariel
and llunittype.h for now
2024-06-17viewer#1781 More detailed model upload errors for texturesAndrey Kleshchev
Show filename of a specific texture
2024-06-10Re-enable compiler warnings C4018, C4100, C4231 and C4506Ansariel
2024-06-01Re-enable a lot of compiler warnings for MSVC and address the C4267 ↵Ansariel
"possible loss of precision" warnings
2024-05-22Fix line endlingsAnsariel
2024-05-22Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-AAnsariel
# Conflicts: # autobuild.xml # indra/cmake/CMakeLists.txt # indra/cmake/GoogleMock.cmake # indra/llaudio/llaudioengine_fmodstudio.cpp # indra/llaudio/llaudioengine_fmodstudio.h # indra/llaudio/lllistener_fmodstudio.cpp # indra/llaudio/lllistener_fmodstudio.h # indra/llaudio/llstreamingaudio_fmodstudio.cpp # indra/llaudio/llstreamingaudio_fmodstudio.h # indra/llcharacter/llmultigesture.cpp # indra/llcharacter/llmultigesture.h # indra/llimage/llimage.cpp # indra/llimage/llimagepng.cpp # indra/llimage/llimageworker.cpp # indra/llimage/tests/llimageworker_test.cpp # indra/llmessage/tests/llmockhttpclient.h # indra/llprimitive/llgltfmaterial.h # indra/llrender/llfontfreetype.cpp # indra/llui/llcombobox.cpp # indra/llui/llfolderview.cpp # indra/llui/llfolderviewmodel.h # indra/llui/lllineeditor.cpp # indra/llui/lllineeditor.h # indra/llui/lltextbase.cpp # indra/llui/lltextbase.h # indra/llui/lltexteditor.cpp # indra/llui/lltextvalidate.cpp # indra/llui/lltextvalidate.h # indra/llui/lluictrl.h # indra/llui/llview.cpp # indra/llwindow/llwindowmacosx.cpp # indra/newview/app_settings/settings.xml # indra/newview/llappearancemgr.cpp # indra/newview/llappearancemgr.h # indra/newview/llavatarpropertiesprocessor.cpp # indra/newview/llavatarpropertiesprocessor.h # indra/newview/llbreadcrumbview.cpp # indra/newview/llbreadcrumbview.h # indra/newview/llbreastmotion.cpp # indra/newview/llbreastmotion.h # indra/newview/llconversationmodel.h # indra/newview/lldensityctrl.cpp # indra/newview/lldensityctrl.h # indra/newview/llface.inl # indra/newview/llfloatereditsky.cpp # indra/newview/llfloatereditwater.cpp # indra/newview/llfloateremojipicker.h # indra/newview/llfloaterimsessiontab.cpp # indra/newview/llfloaterprofiletexture.cpp # indra/newview/llfloaterprofiletexture.h # indra/newview/llgesturemgr.cpp # indra/newview/llgesturemgr.h # indra/newview/llimpanel.cpp # indra/newview/llimpanel.h # indra/newview/llinventorybridge.cpp # indra/newview/llinventorybridge.h # indra/newview/llinventoryclipboard.cpp # indra/newview/llinventoryclipboard.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventoryfunctions.h # indra/newview/llinventorygallery.cpp # indra/newview/lllistbrowser.cpp # indra/newview/lllistbrowser.h # indra/newview/llpanelobjectinventory.cpp # indra/newview/llpanelprofile.cpp # indra/newview/llpanelprofile.h # indra/newview/llpreviewgesture.cpp # indra/newview/llsavedsettingsglue.cpp # indra/newview/llsavedsettingsglue.h # indra/newview/lltooldraganddrop.cpp # indra/newview/llurllineeditorctrl.cpp # indra/newview/llvectorperfoptions.cpp # indra/newview/llvectorperfoptions.h # indra/newview/llviewerparceloverlay.cpp # indra/newview/llviewertexlayer.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/macmain.h # indra/test/test.cpp
2024-05-15secondlife/viewer#1418 Mesh Upload - Physics - Bounding Box is not working ↵Alexander Gavriliuk
as expected
2024-04-29#824 Process source files in bulk: replace tabs with spaces, convert CRLF to ↵Andrey Lihatskiy
LF, and trim trailing whitespaces as needed
2024-04-24Merge branch 'main' into marchcat/a-mergeAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/llimage/llimage.cpp # indra/llui/llsearcheditor.cpp # indra/llui/llview.cpp # indra/newview/llagent.cpp # indra/newview/llappviewer.cpp # indra/newview/llfloatercamera.cpp # indra/newview/llfloatereditsky.cpp # indra/newview/llfloatereditwater.cpp # indra/newview/llinventoryfunctions.cpp # indra/newview/lloutfitgallery.cpp # indra/newview/lloutfitslist.cpp # indra/newview/llpanelgroupbulkban.cpp # indra/newview/llsidepanelappearance.cpp # indra/newview/llvovolume.cpp
2024-04-11Merge branch 'main' of https://github.com/secondlife/viewer into ↵Ansariel
DRTVWR-600-maint-A # Conflicts: # indra/llcommon/llapp.cpp # indra/llcommon/llapp.h # indra/llimage/llimageworker.cpp # indra/llui/llcontainerview.cpp # indra/llui/llcontainerview.h # indra/llui/llkeywords.cpp # indra/llui/lltabcontainer.cpp # indra/llui/lltextbase.cpp # indra/newview/llappviewer.cpp # indra/newview/llfavoritesbar.cpp # indra/newview/llfavoritesbar.h # indra/newview/llfloaterimnearbychathandler.cpp # indra/newview/llfloaterpreference.cpp # indra/newview/llhudnametag.h # indra/newview/llinventorypanel.cpp # indra/newview/llinventorypanel.h # indra/newview/llmeshrepository.cpp # indra/newview/lloutfitgallery.cpp # indra/newview/lloutfitslist.cpp # indra/newview/llpaneleditwearable.cpp # indra/newview/llpanelprofilepicks.cpp # indra/newview/llpanelvoicedevicesettings.h # indra/newview/llpreviewscript.cpp # indra/newview/llpreviewscript.h # indra/newview/llselectmgr.cpp # indra/newview/lltranslate.cpp # indra/newview/llviewerassetupload.cpp # indra/newview/llviewermessage.cpp
2024-04-10Merge branch 'main' into marchcat/y-mergeAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/llcommon/llsys.cpp
2024-02-20Convert remaining cases of BOOL to bool in llmath and llprimitiveAnsariel
Changed the return values for LLPrimitive::packTEMessage methods from FALSE to true - these seemed to be strange and wrong, especially considering the following statement in LLVOAvatarSelf: bool success = packTEMessage(mesgsys);
2024-01-08Merge branch 'main' into DRTVWR-599-maint-ZAndrey Lihatskiy
2024-01-08Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
2023-12-15SL-15628 Crash inside ~LLModelInstanceBaseAndrey Kleshchev
More explicit cleanup in hopes of narrowing down which of the models failed
2023-11-30Merge branch 'DRTVWR-588-maint-W' into marchcat/588-w-pbr-mergeAndrey Lihatskiy
# Conflicts: # indra/llrender/llgl.cpp # indra/llrender/llvertexbuffer.cpp # indra/llui/llflatlistview.cpp # indra/newview/lldrawpoolground.cpp # indra/newview/llspatialpartition.cpp # indra/newview/lltexturefetch.cpp # indra/newview/llviewergenericmessage.cpp # indra/newview/llviewertexture.cpp # indra/newview/llvosky.cpp # indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml # indra/newview/skins/default/xui/en/floater_stats.xml # indra/newview/skins/default/xui/en/floater_texture_fetch_debugger.xml # indra/newview/skins/default/xui/en/notifications.xml # indra/newview/skins/default/xui/en/panel_performance_preferences.xml
2023-11-23SL-18875 Crash at LLModel::writeModelAndrey Kleshchev
Looks like a crash iterating over weight_list& weights = model[idx]->getJointInfluences(pos);
2023-11-21Fix failure to save the normalized translation data during collada uploadRye Mutt
2023-05-17Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-02-09Merge branch 'main' into DRTVWR-577-maint-SAndrey Kleshchev
# Conflicts: # indra/llcommon/llsdserialize.cpp # indra/llcommon/llsdserialize.h # indra/newview/llfilepicker.h # indra/newview/llfilepicker_mac.h # indra/newview/llfilepicker_mac.mm
2023-02-02Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-01-31SL-19110 Fast hashing classes for use in place of the slow LLMD5, where ↵Henri Beauchamp
speed matters. (#64) This commit adds the HBXX64 and HBXX128 classes for use as a drop-in replacement for the slow LLMD5 hashing class, where speed matters and backward compatibility (with standard hashing algorithms) and/or cryptographic hashing qualities are not required. It also replaces LLMD5 with HBXX* in a few existing hot (well, ok, just "warm" for some) paths meeting the above requirements, while paving the way for future use cases, such as in the DRTVWR-559 and sibling branches where the slow LLMD5 is used (e.g. to hash materials and vertex buffer cache entries), and could be use such a (way) faster algorithm with very significant benefits and no negative impact. Here is the comment I added in indra/llcommon/hbxx.h: // HBXXH* classes are to be used where speed matters and cryptographic quality // is not required (no "one-way" guarantee, though they are likely not worst in // this respect than MD5 which got busted and is now considered too weak). The // xxHash code they are built upon is vectorized and about 50 times faster than // MD5. A 64 bits hash class is also provided for when 128 bits of entropy are // not needed. The hashes collision rate is similar to MD5's. // See https://github.com/Cyan4973/xxHash#readme for details.
2023-01-31SL-19110 Fast hashing classes for use in place of the slow LLMD5, where ↵Henri Beauchamp
speed matters. (#64) This commit adds the HBXX64 and HBXX128 classes for use as a drop-in replacement for the slow LLMD5 hashing class, where speed matters and backward compatibility (with standard hashing algorithms) and/or cryptographic hashing qualities are not required. It also replaces LLMD5 with HBXX* in a few existing hot (well, ok, just "warm" for some) paths meeting the above requirements, while paving the way for future use cases, such as in the DRTVWR-559 and sibling branches where the slow LLMD5 is used (e.g. to hash materials and vertex buffer cache entries), and could be use such a (way) faster algorithm with very significant benefits and no negative impact. Here is the comment I added in indra/llcommon/hbxx.h: // HBXXH* classes are to be used where speed matters and cryptographic quality // is not required (no "one-way" guarantee, though they are likely not worst in // this respect than MD5 which got busted and is now considered too weak). The // xxHash code they are built upon is vectorized and about 50 times faster than // MD5. A 64 bits hash class is also provided for when 128 bits of entropy are // not needed. The hashes collision rate is similar to MD5's. // See https://github.com/Cyan4973/xxHash#readme for details.
2023-01-03SL-18874 Rigged mesh upload crash when using Bounding Box physicsAndrey Kleshchev
2022-10-21Merge branch 'master' (DRTVWR-548) into DRTVWR-559Andrey Kleshchev
# Conflicts: # indra/llrender/llgl.cpp # indra/llrender/llrendertarget.cpp # indra/newview/VIEWER_VERSION.txt # indra/newview/app_settings/shaders/class1/deferred/materialF.glsl # indra/newview/llfloaterpreference.cpp # indra/newview/llviewercontrol.cpp # indra/newview/llviewermenu.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/llvovolume.cpp
2022-10-20Merge branch 'master' into DRTVWR-570-maint-QAndrey Lihatskiy
# Conflicts: # indra/newview/llnetmap.cpp # indra/newview/llnetmap.h
2022-09-27Optimize away constant map finds in getSkinInfo by caching mesh skin into in ↵Rye Mutt
vovolume
2022-09-23SL-18156 Cleanup of MikktSpace integration, apply MikktSpace tangents to all ↵Dave Parks
meshes.
2022-09-16Merge branch 'DRTVWR-559' of ssh://bitbucket.org/lindenlab/viewer into ↵Dave Parks
DRTVWR-559
2022-09-16SL-18128 Clear out much OpenGL cruft and switch to core profile on AMDDave Parks
2022-09-16Merge branch master (DRTVWR-571) into DRTVWR-559Andrey Kleshchev
# Conflicts: # indra/newview/llpanelface.cpp # indra/newview/llpanelface.h
2022-09-15SL-18156 WIP -- Add NormalizedScale/NormalizedTranslation to mesh assets to ↵Dave Parks
recover mesh's original coordinate frame when generating tangents post download.
2022-09-15Merge branch 'master' into DRTVWR-548-maint-NAndrey Lihatskiy
# Conflicts: # indra/newview/llmodelpreview.h
2022-09-12SL-18095 Add tangents to mesh assets so we can calculate mikktspace tangents ↵Dave Parks
in the mesh's original coordinate frame.
2022-08-04Merge branch 'master' into DRTVWR-544-maintAndrey Lihatskiy
# Conflicts: # indra/newview/llpanelface.cpp # indra/newview/llpanelface.h # indra/newview/llpanelobject.cpp