diff options
author | Palmer <palmer@lindenlab.com> | 2009-11-17 13:40:11 -0800 |
---|---|---|
committer | Palmer <palmer@lindenlab.com> | 2009-11-17 13:40:11 -0800 |
commit | 53495d74ee380d492cfed0af91f7660f49619a9f (patch) | |
tree | 5992e4769c9acbecc900710048a8eeb4a7806ae4 /indra/newview/pipeline.h | |
parent | 2365dbcd459b37942ddacbcb7010232113a126c1 (diff) | |
parent | c02702f3871979cb7745b49aa502ac3c71f77681 (diff) |
Automated merge with ssh://palmer@hg.lindenlab.com/viewer/viewer-2-0
Diffstat (limited to 'indra/newview/pipeline.h')
-rw-r--r-- | indra/newview/pipeline.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index 9193e19bb1..23e98aa0d6 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -278,6 +278,10 @@ public: LLCullResult::sg_list_t::iterator beginAlphaGroups(); LLCullResult::sg_list_t::iterator endAlphaGroups(); + + //mesh management functions + void loadMesh(LLVOVolume* volume, LLUUID mesh_id, S32 detail = 0); + void addTrianglesDrawn(S32 count); BOOL hasRenderType(const U32 type) const { return (type && (mRenderTypeMask & (1<<type))) ? TRUE : FALSE; } BOOL hasRenderDebugFeatureMask(const U32 mask) const { return (mRenderDebugFeatureMask & mask) ? TRUE : FALSE; } @@ -672,6 +676,35 @@ public: protected: std::vector<LLFace*> mSelectedFaces; + typedef std::map<LLUUID, std::set<LLUUID> > mesh_load_map; + mesh_load_map mLoadingMeshes; + + LLMutex* mMeshMutex; + + class LLMeshThread : public LLThread + { + public: + LLPointer<LLVolume> mVolume; + LLVolume* mTargetVolume; + LLUUID mMeshID; + F32 mDetail; + LLMeshThread(LLUUID mesh_id, LLVolume* target); + ~LLMeshThread(); + void run(); + }; + + static void getMeshAssetCallback(LLVFS *vfs, + const LLUUID& asset_uuid, + LLAssetType::EType type, + void* user_data, S32 status, LLExtStat ext_status); + + std::list<LLMeshThread*> mLoadedMeshes; + std::list<LLMeshThread*> mPendingMeshes; + U32 mMeshThreadCount; + + void meshLoaded(LLMeshThread* mesh_thread); + void notifyLoadedMeshes(); + LLPointer<LLViewerFetchedTexture> mFaceSelectImagep; LLPointer<LLViewerTexture> mBloomImagep; LLPointer<LLViewerTexture> mBloomImage2p; |