本文整理汇总了C++中Url::GetFilename方法的典型用法代码示例。如果您正苦于以下问题:C++ Url::GetFilename方法的具体用法?C++ Url::GetFilename怎么用?C++ Url::GetFilename使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Url
的用法示例。
在下文中一共展示了Url::GetFilename方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PLSceneMaterialSRShaderLighting
/**
* @brief
* Creates a material
*/
PLSceneMaterial *PLSceneMaterial::Create(PLScene &cScene, IGameMaterial *pParentIGameMaterial, IGameMaterial &cIGameMaterial, const String &sName)
{
// Get the 3ds Max material... I don't use IGame for this because I didn't get it working using it...
Mtl *pMaxMaterial = cIGameMaterial.GetMaxMaterial();
if (pMaxMaterial) {
// DxMaterial or extend?
IDxMaterial2 *pFXMaterial = static_cast<IDxMaterial2*>(pMaxMaterial->GetInterface(IDXMATERIAL2_INTERFACE));
if (!pFXMaterial && pParentIGameMaterial)
pFXMaterial = static_cast<IDxMaterial2*>(pParentIGameMaterial->GetMaxMaterial()->GetInterface(IDXMATERIAL2_INTERFACE));
if (pFXMaterial) { // Get information from the DirectX Shader material
// Get effect filename
#if MAX_RELEASE >= 12000 // For R12 release
Url cUrl = pFXMaterial->GetEffectFile().GetFullFilePath().data();
#else
Url cUrl = pFXMaterial->GetEffectFilename();
#endif
String sEffectFilenameName = cUrl.GetFilename();
// Our effect?
if (sEffectFilenameName == "PixelLight_SRShaderLighting.fx")
return new PLSceneMaterialSRShaderLighting(cScene, pParentIGameMaterial, cIGameMaterial, sName);
else
return new PLSceneMaterialFX(cScene, pParentIGameMaterial, cIGameMaterial, sName);
} else {
// Is this a shell material used for 'backed texture'?
if (pMaxMaterial->ClassID() == Class_ID(BAKE_SHELL_CLASS_ID, 0))
return new PLSceneMaterialBakeShell(cScene, pParentIGameMaterial, cIGameMaterial, sName);
else
return new PLSceneMaterialStandard(cScene, pParentIGameMaterial, cIGameMaterial, sName);
}
}
// Error!
return nullptr;
}