From a701cce8e0959503156a010683f6d0d57beaae36 Mon Sep 17 00:00:00 2001 From: RunitaiLinden Date: Wed, 1 May 2024 09:51:32 -0500 Subject: #1357 Preserve asset "extras" and switch to std::shared_ptr for referencing Asset from LLViewerObject to cut down rebuild time --- indra/newview/gltf/asset.cpp | 6 +++--- indra/newview/gltf/asset.h | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'indra/newview/gltf') diff --git a/indra/newview/gltf/asset.cpp b/indra/newview/gltf/asset.cpp index 475cbcb6e5..42f064699c 100644 --- a/indra/newview/gltf/asset.cpp +++ b/indra/newview/gltf/asset.cpp @@ -34,8 +34,6 @@ using namespace LL::GLTF; -#pragma optimize("", off) - namespace LL { namespace GLTF @@ -280,6 +278,7 @@ namespace LL dst.asset.version = src.mVersion; dst.asset.minVersion = src.mMinVersion; dst.asset.generator = "Linden Lab Experimental GLTF Export"; + dst.asset.extras = src.mExtras; copy(src.mScenes, dst.scenes); copy(src.mNodes, dst.nodes); @@ -739,9 +738,10 @@ const Asset& Asset::operator=(const tinygltf::Model& src) mMinVersion = src.asset.minVersion; mGenerator = src.asset.generator; mCopyright = src.asset.copyright; + mExtras = src.asset.extras; mDefaultScene = src.defaultScene; - + mScenes.resize(src.scenes.size()); for (U32 i = 0; i < src.scenes.size(); ++i) diff --git a/indra/newview/gltf/asset.h b/indra/newview/gltf/asset.h index cb28c4a572..5a62313705 100644 --- a/indra/newview/gltf/asset.h +++ b/indra/newview/gltf/asset.h @@ -265,7 +265,7 @@ namespace LL }; // C++ representation of a GLTF Asset - class Asset : public LLRefCount + class Asset { public: std::vector mScenes; @@ -287,6 +287,8 @@ namespace LL std::string mCopyright; S32 mDefaultScene = INVALID_INDEX; + tinygltf::Value mExtras; + // the last time update() was called according to gFrameTimeSeconds F32 mLastUpdateTime = gFrameTimeSeconds; -- cgit v1.2.3