本文整理汇总了C++中StaticModel::SetDrawDistance方法的典型用法代码示例。如果您正苦于以下问题:C++ StaticModel::SetDrawDistance方法的具体用法?C++ StaticModel::SetDrawDistance怎么用?C++ StaticModel::SetDrawDistance使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StaticModel
的用法示例。
在下文中一共展示了StaticModel::SetDrawDistance方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: copyStaticModel
Urho3D::StaticModel *convertedModelToLutefisk(Urho3D::Context *ctx, Urho3D::Node *tgtnode, SEGS::SceneNode *node, int opt)
{
SEGS::Model *mdl = node->model;
Urho3D::StaticModel * converted=nullptr;
auto loc = s_coh_model_to_static_model.find(mdl);
if (loc != s_coh_model_to_static_model.end())
converted = loc->second.Get();
if (mdl && converted)
{
float per_node_draw_distance = node->lod_far + node->lod_far_fade;
StaticModel* boxObject = tgtnode->CreateComponent<StaticModel>();
copyStaticModel(converted, boxObject);
boxObject->SetDrawDistance(per_node_draw_distance);
return boxObject;
}
ModelModifiers *model_trick = mdl->trck_node;
if (model_trick)
{
if (opt != CONVERT_EDITOR_MARKERS && model_trick->isFlag(NoDraw))
{
//qDebug() << mdl->name << "Set as no draw";
return nullptr;
}
if (opt != CONVERT_EDITOR_MARKERS && model_trick->isFlag(EditorVisible))
{
//qDebug() << mdl->name << "Set as editor model";
return nullptr;
}
if (model_trick && model_trick->isFlag(CastShadow))
{
//qDebug() << "Not converting shadow models"<<mdl->name;
return nullptr;
}
if (model_trick && model_trick->isFlag(ParticleSys))
{
qDebug() << "Not converting particle sys:" << mdl->name;
return nullptr;
}
}
Urho3D::Model *modelptr = buildModel(ctx, mdl);
if(!modelptr)
return nullptr;
StaticModel* boxObject = tgtnode->CreateComponent<StaticModel>();
boxObject->SetDrawDistance(node->lod_far+node->lod_far_fade);
boxObject->SetModel(modelptr);
convertMaterial(ctx,mdl,boxObject);
s_coh_model_to_static_model[mdl] = boxObject;
return boxObject;
}