📄 sharedvolumebundle.cpp
字号:
// --------------------------------------------------------------------------
// Dingus project - a collection of subsystems for game/graphics applications
// --------------------------------------------------------------------------
#include "stdafx.h"
#include "SharedVolumeBundle.h"
#include "../utils/Errors.h"
#include "../kernel/D3DDevice.h"
using namespace dingus;
void CSharedVolumeBundle::registerVolume( CResourceId const& id, const IVolumeCreator::TSharedPtr& creator )
{
assert( creator );
IDirect3DVolumeTexture9* tex = creator->createTexture();
registerResource( id, *(new CD3DVolumeTexture(tex)), creator );
}
void CSharedVolumeBundle::createResource()
{
}
void CSharedVolumeBundle::activateResource()
{
// recreate all objects
TResourceMap::iterator it;
for( it = mResourceMap.begin(); it != mResourceMap.end(); ++it ) {
IVolumeCreator::TSharedPtr& creator = it->second.first;
assert( creator );
CD3DVolumeTexture& res = *it->second.second;
if( !res.isNull() )
continue; // kind of HACK
res.setObject( creator->createTexture() );
assert( !res.isNull() );
}
}
void CSharedVolumeBundle::passivateResource()
{
// unload all objects
TResourceMap::iterator it;
for( it = mResourceMap.begin(); it != mResourceMap.end(); ++it ) {
CD3DVolumeTexture& res = *it->second.second;
assert( !res.isNull() );
res.getObject()->Release();
res.setObject( NULL );
}
}
void CSharedVolumeBundle::deleteResource()
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -