From 0539177c86021e5f1b0c8494e27c8e0cf8ab8fd9 Mon Sep 17 00:00:00 2001 From: D-AIRY <admin@ds-servers.com> Date: Fri, 26 Jun 2020 05:59:57 +0300 Subject: [PATCH] Fixed loading models >1 lod --- source/anim/DynamicModelShared.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/anim/DynamicModelShared.cpp b/source/anim/DynamicModelShared.cpp index 992435fe9..0216f5d03 100644 --- a/source/anim/DynamicModelShared.cpp +++ b/source/anim/DynamicModelShared.cpp @@ -126,6 +126,8 @@ bool CDynamicModelShared::init(IXResourceModelStatic *pResource) } { + bool useDelayInit = false; + UINT uLodCount = m_pResource->getLodCount(); m_aLods.resizeFast(uLodCount); if(m_pDevice) @@ -224,7 +226,7 @@ bool CDynamicModelShared::init(IXResourceModelStatic *pResource) m_puTempTotalIndices[i] = uTotalIndices; m_puTempTotalVertices[i] = uTotalVertices; - m_pProvider->scheduleSharedGPUinit(this); + useDelayInit = true; } } @@ -235,6 +237,11 @@ bool CDynamicModelShared::init(IXResourceModelStatic *pResource) //printf("Min: %.2f, %.2f, %.2f; Max: %.2f, %.2f, %.2f\n", m_vLocalMin.x, m_vLocalMin.y, m_vLocalMin.z, m_vLocalMax.x, m_vLocalMax.y, m_vLocalMax.z); } + + if(useDelayInit) + { + m_pProvider->scheduleSharedGPUinit(this); + } } for(UINT m = 0, ml = pResource->getPhysboxCount(); m < ml; ++m) @@ -244,6 +251,7 @@ bool CDynamicModelShared::init(IXResourceModelStatic *pResource) buildPSPs(); + return(true); } -- GitLab