3D модель
От: Rusland  
Дата: 14.01.05 08:49
Оценка:
Как программно записать движение 3D модели (x файл) в видео файл?
Re: 3D модель
От: zorgg http://elens.ru
Дата: 14.01.05 10:48
Оценка:
Здравствуйте, Rusland, Вы писали:

R>Как программно записать движение 3D модели (x файл) в видео файл?


D3DX -> render to surface
-> DirectShow (что-то вроде IAMVideoCompression)

а вообще — документация по DirectX SDK, там все это есть.
Re: 3D модель
От: Pmich Украина  
Дата: 14.01.05 13:50
Оценка:
Здравствуйте, Rusland, Вы писали:

R>Как программно записать движение 3D модели (x файл) в видео файл?

Если для DX 9 — то следующий код !

Рендеришь все в последовательность кадров


// тут рендеришь сцену
m_pd3dDevice->BeginScene();
....
m_pd3dDevice->EndScene();

// сразу после EndScene() - вставляешь код типа следующего

static int iCurrentFrame = 0;
LPDIRECT3DSURFACE9 pSurface;
m_pd3dDevice->GetRenderTarget( 0, &pSurface );

char szBuffer[64];
sprintf(szBuffer, "frame_%05d", iCurrentFrame++);
std::string strNewFileName = std::string(szBuffer) + ".bmp";

D3DXSaveSurfaceToFile( strNewFileName.c_str(), D3DXIFF_BMP, pSurface, NULL, NULL );


Для версий DX < 9 после рендера получаешь HDC окна, в которое отрисовываешь, и сохраняешь через GDI функции в BMP файл содержимое.


Потом сшиваешь последовательность в любой подходящий формат при помощи любой проги для видеомонтажа: Adobe Premier, 3DS Max, Adobe After Effects, etc.

Еще один ньюанс — при рендеринге нужно поставить фиксированный FrameRate — чтобы видео не было дерганным. 25|30 FPS
Best Regards !!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.