Kill legacy PPM support in screen-dump

This commit is contained in:
James Turner 2013-09-18 12:17:29 +01:00
parent a18792c397
commit 362d47f91f
2 changed files with 0 additions and 65 deletions

View File

@ -23,14 +23,6 @@
# include <simgear_config.h> # include <simgear_config.h>
#endif #endif
#ifdef WIN32
# include <windows.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <simgear/compiler.h> #include <simgear/compiler.h>
#include <osg/Image> #include <osg/Image>
@ -39,48 +31,6 @@
#include "screen-dump.hxx" #include "screen-dump.hxx"
#define RGB3 3 // 3 bytes of color info per pixel
#define RGBA 4 // 4 bytes of color+alpha info
bool sg_glWritePPMFile(const char *filename, GLubyte *buffer, int win_width, int win_height, int mode)
{
int i, j, k, q;
unsigned char *ibuffer;
FILE *fp;
int pixelSize = mode==GL_RGBA?4:3;
ibuffer = (unsigned char *) malloc(win_width*win_height*RGB3);
if ( (fp = fopen(filename, "wb")) == NULL ) {
free(ibuffer);
printf("Warning: cannot open %s\n", filename);
return false;
}
fprintf(fp, "P6\n# CREATOR: glReadPixel()\n%d %d\n%d\n",
win_width, win_height, UCHAR_MAX);
q = 0;
for (i = 0; i < win_height; i++)
for (j = 0; j < win_width; j++)
for (k = 0; k < RGB3; k++)
ibuffer[q++] = (unsigned char)
*(buffer + (pixelSize*((win_height-1-i)*win_width+j)+k));
int written = fwrite(ibuffer, sizeof(unsigned char), RGB3*win_width*win_height, fp);
fclose(fp);
free(ibuffer);
if ( written != RGB3*win_width*win_height )
{
printf("Warning: failed to write %s. File truncated.\n", filename);
return false;
}
printf("wrote file '%s' (%d x %d pixels, %d bytes)\n",
filename, win_width, win_height, RGB3*win_width*win_height);
return true;
}
// dump the screen buffer to a png file, returns true on success // dump the screen buffer to a png file, returns true on success
bool sg_glDumpWindow(const char *filename, int win_width, int win_height) { bool sg_glDumpWindow(const char *filename, int win_width, int win_height) {
osg::ref_ptr<osg::Image> img(new osg::Image); osg::ref_ptr<osg::Image> img(new osg::Image);

View File

@ -24,10 +24,6 @@
#ifndef SG_SCREEN_DUMP_HXX #ifndef SG_SCREEN_DUMP_HXX
#define SG_SCREEN_DUMP_HXX #define SG_SCREEN_DUMP_HXX
#include <simgear/compiler.h>
#include <osg/GL>
/** /**
* Dump the screen buffer to a PNG file. * Dump the screen buffer to a PNG file.
* @param filename name of file * @param filename name of file
@ -37,15 +33,4 @@
bool sg_glDumpWindow( const char *filename, int win_width, int win_height ); bool sg_glDumpWindow( const char *filename, int win_width, int win_height );
/**
* Given a GLubyte *buffer, write it out to a ppm file.
* @param filename name of file
* @param buffer pointer to opengl buffer
* @param win_width width of buffer
* @param win_height height of buffer
* @param mode one of GL_RGBA, GL_RGB, etc.
*/
bool sg_glWritePPMFile( const char *filename, GLubyte *buffer, int win_width,
int win_height, int mode);
#endif // of SG_SCREEN_DUMP_HXX #endif // of SG_SCREEN_DUMP_HXX