Это то, что я использую для сбора одиночных кадров, но если вы измените это и сохраните все две цели, открытые все время, вы можете «перевести» его на диск, используя статический счетчик для имени файла. - Я не могу вспомнить, где я нашел это, но он был изменен, благодаря кому бы то ни было!
void dump_buffer()
{
IDirect3DSurface9* pRenderTarget=NULL;
IDirect3DSurface9* pDestTarget=NULL;
const char file[] = "Pickture.bmp";
// sanity checks.
if (Device == NULL)
return;
// get the render target surface.
HRESULT hr = Device->GetRenderTarget(0, &pRenderTarget);
// get the current adapter display mode.
//hr = pDirect3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT,&d3ddisplaymode);
// create a destination surface.
hr = Device->CreateOffscreenPlainSurface(DisplayMde.Width,
DisplayMde.Height,
DisplayMde.Format,
D3DPOOL_SYSTEMMEM,
&pDestTarget,
NULL);
//copy the render target to the destination surface.
hr = Device->GetRenderTargetData(pRenderTarget, pDestTarget);
//save its contents to a bitmap file.
hr = D3DXSaveSurfaceToFile(file,
D3DXIFF_BMP,
pDestTarget,
NULL,
NULL);
// clean up.
pRenderTarget->Release();
pDestTarget->Release();
}
В моем случае это был сервер Экспо, который иногда не ловит filesaves в Windows (вероятно), и это была seening старая версия компонента, который я попытался соединить (у меня не было экспорта там еще, вероятно). Пересохранение моего компонента, ничего действительно не касаясь устранило проблему.
Перезапуск сервер Экспо с убранным кэшем, вероятно, помог бы также.
Больше деталей может быть найдено здесь .
могло бы быть три причины, которые получены в итоге следующим образом:
- Круговые зависимости между компонентами
- Неправильное использование
export
иexport default
затем импортировало неправильный путь- Используемый функция подключения неправильно, передал неправильные параметры
В моем случае, были Круговые зависимости, и , круговой плагин зависимости помог мне зафиксировать его.