The SoFCOffscreenRenderer class is used for rendering scenes in offscreen buffers. More...
#include <SoFCOffscreenRenderer.h>
Public Member Functions | |
std::string | createMIBA (const SbMatrix &mat) const |
QStringList | getWriteImageFiletypeInfo () |
This method returns all image file formats supported by Coin3D (see getWriteFiletypeInfo()) with all QImage file formats that are not directly supported by Coin3D, if so. More... | |
void | writeToImage (QImage &) const |
Writes the rendered image buffer directly into a QImage object instead of an image file. More... | |
void | writeToImageFile (const char *filename, const char *comment, const SbMatrix &mat, const QImage &img) |
Saves the buffer to filename, in the filetype specified by filetypeextensions. More... | |
Static Public Member Functions | |
static SoFCOffscreenRenderer & | instance () |
The SoOffscreenRenderer base class seems to have a huge memory leak. More... | |
Protected Member Functions | |
SoFCOffscreenRenderer (const SbViewportRegion &viewportregion) | |
Constructor. More... | |
SoFCOffscreenRenderer (SoGLRenderAction *action) | |
Constructor. More... | |
~SoFCOffscreenRenderer () | |
Destructor. More... | |
The SoFCOffscreenRenderer class is used for rendering scenes in offscreen buffers.
|
protected |
Constructor.
Argument is the viewportregion we should use when rendering. An internal SoGLRenderAction will be constructed.
|
protected |
Constructor.
Argument is the action we should apply to the scene graph when rendering the scene. Information about the viewport is extracted from the action.
|
protected |
Destructor.
std::string SoFCOffscreenRenderer::createMIBA | ( | const SbMatrix & | mat | ) | const |
References App::Application::Config(), and App::Application::getExecutableName().
Referenced by writeToImageFile().
QStringList SoFCOffscreenRenderer::getWriteImageFiletypeInfo | ( | ) |
This method returns all image file formats supported by Coin3D (see getWriteFiletypeInfo()) with all QImage file formats that are not directly supported by Coin3D, if so.
|
static |
The SoOffscreenRenderer base class seems to have a huge memory leak.
Whenever an instance is created internal memory doesn't get freed when destroying it. Thus, SoFCOffscreenRenderer is implemented as singleton to allow to create only one global instance. So, the memory is leaking for this instance only.
Referenced by Gui::View3DInventorPy::saveImage(), and Gui::View3DInventorViewer::savePicture().
void SoFCOffscreenRenderer::writeToImage | ( | QImage & | img | ) | const |
Writes the rendered image buffer directly into a QImage object instead of an image file.
References Gui::BitmapFactory(), and Gui::BitmapFactoryInst::convert().
Referenced by Gui::View3DInventorViewer::savePicture().
void SoFCOffscreenRenderer::writeToImageFile | ( | const char * | filename, |
const char * | comment, | ||
const SbMatrix & | mat, | ||
const QImage & | img | ||
) |
Saves the buffer to filename, in the filetype specified by filetypeextensions.
Note that you must still specify the full filename for the first argument, i.e. the second argument will not automatically be attached to the filename – it is only used to decide the filetype.
If comment is set to '$MIBA' information regarding the MIBA standard is embedded to the picture, otherwise the comment is embedded as is. The appropriate file format must support embedding meta information which is provided by JPEG or PNG.
This does basically the same as writeToFile() unless that all QImage file formats are supported if not directly supported by Coin3D.
References createMIBA(), App::Application::getExecutableName(), and DraftVecUtils::toString().
Referenced by Gui::View3DInventorPy::saveImage().