本文整理汇总了C++中TexturePtr::getUsage方法的典型用法代码示例。如果您正苦于以下问题:C++ TexturePtr::getUsage方法的具体用法?C++ TexturePtr::getUsage怎么用?C++ TexturePtr::getUsage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TexturePtr
的用法示例。
在下文中一共展示了TexturePtr::getUsage方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: copyToTexture
//-----------------------------------------------------------------------------
void Texture::copyToTexture( TexturePtr& target )
{
if(target->getNumFaces() != getNumFaces())
{
OGRE_EXCEPT(Exception::ERR_INVALIDPARAMS,
"Texture types must match",
"Texture::copyToTexture");
}
size_t numMips = std::min(getNumMipmaps(), target->getNumMipmaps());
if((mUsage & TU_AUTOMIPMAP) || (target->getUsage()&TU_AUTOMIPMAP))
numMips = 0;
for(unsigned int face=0; face<getNumFaces(); face++)
{
for(unsigned int mip=0; mip<=numMips; mip++)
{
target->getBuffer(face, mip)->blit(getBuffer(face, mip));
}
}
}
示例2: updateControls
void TextureToolWindow::updateControls(String texName)
{
try
{
bool exists = TextureManager::getSingleton().resourceExists(texName);
if (!exists)
{
mTxt->setCaption(convertToMyGUIString("Texture not found:\n" + texName));
mBtnSavePNG->setEnabled(false);
return;
}
TexturePtr tex = TextureManager::getSingleton().getByName(texName);
if (tex.isNull())
{
mTxt->setCaption(convertToMyGUIString("Error loading texture:\n" + texName));
mBtnSavePNG->setEnabled(false);
return;
}
String str = "#aa0000" + texName + "#000000\n";
str += "#00aa00res: #000000" + TOSTRING(tex->getWidth()) + " x " + TOSTRING(tex->getHeight()) + " pixels\n";
str += "#00aa00size: #000000" + formatBytes(tex->getSize()) + "\n";
str += "#00aa00format: #000000" + PixelUtil::getFormatName(tex->getFormat()) + "\n";
if (tex->getNumFaces() > 1)
str += "#00aa00faces: #000000" + TOSTRING(tex->getNumFaces()) + "\n";
if (tex->getFSAA() > 0)
str += "#00aa00FSAA: #000000" + TOSTRING(tex->getFSAA()) + "\n";
if (tex->getNumMipmaps() > 0)
str += "#00aa00mipmaps: #000000" + TOSTRING(tex->getNumMipmaps()) + "\n";
String typeStr = "";
switch (tex->getTextureType())
{
case TEX_TYPE_1D: typeStr = "1D";
break;
case TEX_TYPE_2D: typeStr = "2D";
break;
case TEX_TYPE_3D: typeStr = "3D";
break;
case TEX_TYPE_CUBE_MAP: typeStr = "Cube Map";
break;
}
str += "#00aa00type: #000000" + typeStr + "\n";
String usageStr = "";
if (tex->getUsage() & TU_STATIC)
usageStr += "static,\n";
if (tex->getUsage() & TU_DYNAMIC)
usageStr += "dynamic,\n";
if (tex->getUsage() & TU_WRITE_ONLY)
usageStr += "write only,\n";
if (tex->getUsage() & TU_STATIC_WRITE_ONLY)
usageStr += "static write only,\n";
if (tex->getUsage() & TU_DYNAMIC_WRITE_ONLY)
usageStr += "dynamic write only,\n";
if (tex->getUsage() & TU_DYNAMIC_WRITE_ONLY_DISCARDABLE)
usageStr += "dynamic write only discardable,\n";
if (tex->getUsage() & TU_AUTOMIPMAP)
usageStr += "automipmap,\n";
if (tex->getUsage() & TU_RENDERTARGET)
usageStr += "rendertarget,\n";
if (tex->getUsage() & TU_DEFAULT)
usageStr += "default\n";
str += "#00aa00usage: #000000" + usageStr + "\n";
if (tex->getDepth() > 1)
str += "#00aa00depth: #000000" + TOSTRING(tex->getDepth()) + "\n";
mTxt->setCaption(convertToMyGUIString(str));
mImage->setImageTexture(texName);
mBtnSavePNG->setEnabled(true);
}
catch (Exception& e)
{
UTFString str = "Exception while opening texture:" + e.getFullDescription();
RoR::App::GetConsole()->putMessage(Console::CONSOLE_MSGTYPE_INFO, Console::CONSOLE_MSGTYPE_INFO, str, "error.png");
}
}