Files
simgear/simgear/screen/screen-dump.hxx
T
ehofman c7cbb22667 - remove the SG_GLxxxx_H #defines, since OSG provides its own versions
- this exposed a bizarre issue on Mac where dragging in <AGL/agl.h> in
   extensions.hxx was pulling in all of Carbon to the global namespace
   - very scary. As a result, I now need to explicitly include CoreFoundation
   in fg_init.cxx.
 - change SG_USING_STD(x) to using std::x

Issues:

 - the logic for X11 and Win32 in RenderTexture and extensions is tortured,
   please see if you agree I got all the ifdefs correct.
2008-07-27 16:10:36 +00:00

47 lines
1.6 KiB
C++

/**
* \file screen-dump.hxx
* Dump a copy of the opengl screen buffer to a file.
*/
// Contributed by Richard Kaszeta <bofh@me.umn.edu>, started October 1999.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
// License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Library General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// $Id$
#include <simgear/compiler.h>
#include <osg/GL>
/**
* Dump the screen buffer to a ppm file.
* @param filename name of file
* @param win_width width of our opengl window
* @param win_height height of our opengl window
*/
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);