Try to avoid updating skidmark each frames.
This commit is contained in:
@@ -135,6 +135,8 @@ void SkidMarks::update(float dt, bool force_skid_marks,
|
||||
// (till these skid mark quads are deleted)
|
||||
m_left[m_current]->setHardwareMappingHint(scene::EHM_STATIC);
|
||||
m_right[m_current]->setHardwareMappingHint(scene::EHM_STATIC);
|
||||
if (STKMeshSceneNode* stkm = dynamic_cast<STKMeshSceneNode*>(m_nodes[m_current]))
|
||||
stkm->setReloadEachFrame(false);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -190,7 +192,7 @@ void SkidMarks::update(float dt, bool force_skid_marks,
|
||||
new_mesh->addMeshBuffer(smq_right);
|
||||
scene::IMeshSceneNode *new_node = irr_driver->addMesh(new_mesh);
|
||||
if (STKMeshSceneNode* stkm = dynamic_cast<STKMeshSceneNode*>(new_node))
|
||||
stkm->setReloadEachFrame();
|
||||
stkm->setReloadEachFrame(true);
|
||||
#ifdef DEBUG
|
||||
std::string debug_name = m_kart.getIdent()+" (skid-mark)";
|
||||
new_node->setName(debug_name.c_str());
|
||||
|
||||
@@ -36,9 +36,9 @@ STKMeshSceneNode::STKMeshSceneNode(irr::scene::IMesh* mesh, ISceneNode* parent,
|
||||
createGLMeshes();
|
||||
}
|
||||
|
||||
void STKMeshSceneNode::setReloadEachFrame()
|
||||
void STKMeshSceneNode::setReloadEachFrame(bool val)
|
||||
{
|
||||
reload_each_frame = true;
|
||||
reload_each_frame = val;
|
||||
}
|
||||
|
||||
void STKMeshSceneNode::createGLMeshes()
|
||||
|
||||
@@ -26,7 +26,7 @@ protected:
|
||||
bool isMaterialInitialized;
|
||||
bool reload_each_frame;
|
||||
public:
|
||||
void setReloadEachFrame();
|
||||
void setReloadEachFrame(bool);
|
||||
STKMeshSceneNode(irr::scene::IMesh* mesh, ISceneNode* parent, irr::scene::ISceneManager* mgr, irr::s32 id,
|
||||
const irr::core::vector3df& position = irr::core::vector3df(0, 0, 0),
|
||||
const irr::core::vector3df& rotation = irr::core::vector3df(0, 0, 0),
|
||||
|
||||
Reference in New Issue
Block a user