forked from bartvdbraak/blender
Fix T40344: Levels of Detail not smooth with Armature Modifier
Due to skinning changes for multi-threaded animations, the LOD check was being done after skinning. Now the LOD check is run before animations. This means the culling information is a frame old, but this should be fine.
This commit is contained in:
parent
517094a697
commit
f469185f25
@ -2045,8 +2045,5 @@ void KX_Dome::RenderDomeFrame(KX_Scene* scene, KX_Camera* cam, int i)
|
|||||||
|
|
||||||
scene->CalculateVisibleMeshes(m_rasterizer,cam);
|
scene->CalculateVisibleMeshes(m_rasterizer,cam);
|
||||||
scene->RenderBuckets(camtrans, m_rasterizer);
|
scene->RenderBuckets(camtrans, m_rasterizer);
|
||||||
|
|
||||||
// update levels of detail
|
|
||||||
scene->UpdateObjectLods();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -686,6 +686,9 @@ bool KX_KetsjiEngine::NextFrame()
|
|||||||
SG_SetActiveStage(SG_STAGE_ACTUATOR_UPDATE);
|
SG_SetActiveStage(SG_STAGE_ACTUATOR_UPDATE);
|
||||||
scene->UpdateParents(m_frameTime);
|
scene->UpdateParents(m_frameTime);
|
||||||
|
|
||||||
|
// update levels of detail
|
||||||
|
scene->UpdateObjectLods();
|
||||||
|
|
||||||
if (!GetRestrictAnimationFPS())
|
if (!GetRestrictAnimationFPS())
|
||||||
{
|
{
|
||||||
m_logger->StartLog(tc_animations, m_kxsystem->GetTimeInSeconds(), true);
|
m_logger->StartLog(tc_animations, m_kxsystem->GetTimeInSeconds(), true);
|
||||||
@ -1316,9 +1319,6 @@ void KX_KetsjiEngine::RenderFrame(KX_Scene* scene, KX_Camera* cam)
|
|||||||
|
|
||||||
scene->CalculateVisibleMeshes(m_rasterizer,cam);
|
scene->CalculateVisibleMeshes(m_rasterizer,cam);
|
||||||
|
|
||||||
// update levels of detail
|
|
||||||
scene->UpdateObjectLods();
|
|
||||||
|
|
||||||
m_logger->StartLog(tc_rasterizer, m_kxsystem->GetTimeInSeconds(), true);
|
m_logger->StartLog(tc_rasterizer, m_kxsystem->GetTimeInSeconds(), true);
|
||||||
SG_SetActiveStage(SG_STAGE_RENDER);
|
SG_SetActiveStage(SG_STAGE_RENDER);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user