0

https://github.com/barrycarter/bcapps/blob/master/particleman.c(「gcc-lglutparticleman.c-oparticleman 」で コンパイル)で小さな「パーティクルシステム」を作成しました 。出力を記録します。どうすればよいですか?

recordmydesktopを使用してみましたが、うまく機能せず、本質的に間違ったツールのようです。

libglutにMP4ファイルを直接出力させることはできますか?

そうでない場合は、各フレームを画像として出力するようにできますか(その後、他のソフトウェアを使用してそれらの画像を結合できますか)?

これは簡単なはずですが、私は困惑しています。

4

1 に答える 1

0

glReadPixelsフレームバッファのピクセルを配列に読み込むために使用できます。その後、データを画像ファイルに保存する必要があります-ここにいくつかのコードがあります:

rectangle<int> rect = getViewport();

const int width     = rect.width;
const int height    = rect.height;

const size_t bytesPerPixel = 3; // RGB
const size_t imageSizeInBytes = bytesPerPixel * size_t(width) * size_t(height);

// Allocate data for pixels
uint8_t* pixels = new uint8_t[imageSizeInBytes];

glPixelStorei(GL_PACK_ALIGNMENT, 1);
glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, pixels);

// save data to an image
Image img(width, height, pixels);
buw::saveImage(filename, img);

glutはMP4を直接出力することはできません。

于 2013-03-07T15:11:15.430 に答える