SDLGLOffScreenSurface.hh 620 B

123456789101112131415161718192021222324252627282930
  1. #ifndef SDLGLOFFSCREENSURFACE_HH
  2. #define SDLGLOFFSCREENSURFACE_HH
  3. #include "OutputSurface.hh"
  4. #include "GLUtil.hh"
  5. namespace openmsx {
  6. class SDLGLVisibleSurface;
  7. /** This class installs a FrameBufferObject (FBO). So as long as this object
  8. * is live, all openGL draw commands will be redirected to this FBO.
  9. */
  10. class SDLGLOffScreenSurface final : public OutputSurface
  11. {
  12. public:
  13. explicit SDLGLOffScreenSurface(const OutputSurface& output);
  14. private:
  15. // OutputSurface
  16. void saveScreenshot(const std::string& filename) override;
  17. gl::Texture fboTex;
  18. gl::FrameBufferObject fbo;
  19. };
  20. } // namespace openmsx
  21. #endif