本文整理汇总了C++中mhwrender::MRenderer::getShaderManager方法的典型用法代码示例。如果您正苦于以下问题:C++ MRenderer::getShaderManager方法的具体用法?C++ MRenderer::getShaderManager怎么用?C++ MRenderer::getShaderManager使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mhwrender::MRenderer
的用法示例。
在下文中一共展示了MRenderer::getShaderManager方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setup
//
// Update override for the current frame.
//
// Make sure we have a proper set of operations. If so then update
// shaders and light pruning information.
//
MStatus viewRenderOverrideShadows::setup(const MString& destination)
{
// Firewall checks
MHWRender::MRenderer* renderer = MHWRender::MRenderer::theRenderer();
if (!renderer) return MStatus::kFailure;
const MHWRender::MShaderManager* shaderMgr = renderer->getShaderManager();
if (!shaderMgr) return MStatus::kFailure;
// Update render operations
//
MStatus status = updateRenderOperations();
if (status != MStatus::kSuccess)
return status;
// Update shaders
status = updateShaders( shaderMgr );
if (status != MStatus::kSuccess)
return status;
// Update light list
status = updateLightList();
return status;
}
示例2:
/*
Desctructor
Make sure to release the operations and any shaders acquired
via the shader manager
*/
viewRenderOverrideShadows::~viewRenderOverrideShadows()
{
for (unsigned int i=0; i<kOperationCount; i++)
{
delete mRenderOperations[i];
mRenderOperations[i] = NULL;
}
MHWRender::MRenderer* theRenderer = MHWRender::MRenderer::theRenderer();
if (theRenderer)
{
// Release shaders
const MHWRender::MShaderManager* shaderMgr = theRenderer->getShaderManager();
if (shaderMgr && mLightShader)
{
shaderMgr->releaseShader(mLightShader);
mLightShader = NULL;
}
}
}