ちょっとレンダリング結果を動画にして確認したい場合に、.txt形式で出力してconvert (ImageMagick)すると便利です。

c>>
/*

  • Output image
    /
    std::vector buf(3
    width*height);
    glFlush();
    glReadBuffer(GL_BACK);
    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    glReadPixels(0, 0, width, height,
    GL_RGB, GL_UNSIGNED_BYTE, &buf[0]);

char filename[1024];
sprintf(filename, "%s_%04d.txt", basename, frame);
FILE fp = fopen(filename, "w");
fprintf(fp,
"# ImageMagick pixel enumeration: %d,%d,%d,rgb\n",
width, height, 255);
for(int y = 0; y < host->height; ++y){
for(int x = 0; x < host->width; ++x){
int idx = (host->height - y - 1)host->width + x;
fprintf(fp, "%d,%d: (%d,%d,%d)\n",
x, y,
buf[3
idx + 0],
buf[3
idx + 1],
buf[3*idx + 2]);
}
}
fclose(fp);
<<--

出来上がったら、

pre>>
% convert basename_*.txt basename.mp4
<<--

posted by genki genki on Sat 30 Jan 2010 at 15:07 with 0 comments