#include <Inventor/SoOffscreenRenderer.h>
Public Types | |
enum | Components { LUMINANCE = 1, LUMINANCE_TRANSPARENCY = 2, RGB = 3, RGB_TRANSPARENCY = 4 } |
Public Methods | |
SoOffscreenRenderer (const SbViewportRegion &viewportregion) | |
SoOffscreenRenderer (SoGLRenderAction *action) | |
~SoOffscreenRenderer () | |
void | setComponents (const Components components) |
Components | getComponents (void) const |
void | setViewportRegion (const SbViewportRegion ®ion) |
const SbViewportRegion & | getViewportRegion (void) const |
void | setBackgroundColor (const SbColor &color) |
const SbColor & | getBackgroundColor (void) const |
void | setGLRenderAction (SoGLRenderAction *action) |
SoGLRenderAction * | getGLRenderAction (void) const |
SbBool | render (SoNode *scene) |
SbBool | render (SoPath *scene) |
unsigned char * | getBuffer (void) const |
SbBool | writeToRGB (FILE *fp) const |
SbBool | writeToPostScript (FILE *fp) const |
SbBool | writeToPostScript (FILE *fp, const SbVec2f &printsize) const |
SbBool | writeToRGB (const char *filename) const |
SbBool | writeToPostScript (const char *filename) const |
SbBool | writeToPostScript (const char *filename, const SbVec2f &printsize) const |
SbBool | isWriteSupported (const SbName &filetypeextension) const |
int | getNumWriteFiletypes (void) const |
void | getWriteFiletypeInfo (const int idx, SbList< SbName > &extlist, SbString &fullname, SbString &description) |
SbBool | writeToFile (const SbString &filename, const SbName &filetypeextension) const |
Static Public Methods | |
float | getScreenPixelsPerInch (void) |
SbVec2s | getMaximumResolution (void) |
If you want to render to a memory buffer instead of an on-screen OpenGL context, use this class. Rendering to a memory buffer can be used to generate texture maps on-the-fly, or for saving snapshots of the scene to disk files (as pixel bitmaps or as Postscript files for sending to a Postscript-capable printer).
Currently offscreen rendering can be done with GLX (i.e. OpenGL on X11) and WGL (i.e. OpenGL on Win32).
|
Enumerated values for the available image formats.
|
|
Constructor. Argument is the viewportregion we should use when rendering. An internal SoGLRenderAction will be constructed. |
|
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. |
|
Destructor. |
|
Returns the screen pixels per inch resolution of your monitor. |
|
Get maximum dimensions (width, height) of the offscreen buffer. |
|
Sets the component format of the offscreen buffer.
If set to
The default format to render to is |
|
Returns the component format of the offscreen buffer.
|
|
Sets the viewport region. |
|
Returns the viewerport region. |
|
Sets the background color. The buffer is cleared to this color before rendering. |
|
Returns the background color. |
|
Sets the render action. Use this if you have special rendering needs. |
|
Returns the rendering action currently used. |
|
Render scene into our internal memory buffer. |
|
Render the scene path into our internal memory buffer. |
|
Returns the offscreen memory buffer. |
|
Writes the buffer in SGI RGB format by appending it to the already open file. Returns Important note: do not use this method when the Coin library has been compiled as an MSWindows DLL, as passing FILE* instances back or forth to DLLs is dangerous and will most likely cause a crash. This is an intrinsic limitation for MSWindows DLLs. |
|
Writes the buffer in Postscript format by appending it to the already open file. Returns Important note: do not use this method when the Coin library has been compiled as an MSWindows DLL, as passing FILE* instances back or forth to DLLs is dangerous and will most likely cause a crash. This is an intrinsic limitation for MSWindows DLLs. |
|
Writes the buffer to a file in Postscript format, with printsize dimensions. Important note: do not use this method when the Coin library has been compiled as an MSWindows DLL, as passing FILE* instances back or forth to DLLs is dangerous and will most likely cause a crash. This is an intrinsic limitation for MSWindows DLLs. |
|
Opens a file with the given name and writes the offscreen buffer in SGI RGB format to the new file. If the file already exists, it will be overwritten (if permitted by the filesystem).
Returns |
|
Opens a file with the given name and writes the offscreen buffer in Postscript format to the new file. If the file already exists, it will be overwritten (if permitted by the filesystem).
Returns |
|
Opens a file with the given name and writes the offscreen buffer in Postscript format with printsize dimensions to the new file. If the file already exists, it will be overwritten (if permitted by the filesystem).
Returns |
|
Returns TRUE if the buffer can be saved as a file of type filetypeextension, using SoOffscreenRenderer::writeToFile(). This function needs simage v1.1 or newer. Examples of supported extensions are: jpg, png, tiff and rgb. The extension match is not case sensitive. This method is an extension versus the Open Inventor API.
|
|
Returns the number of available exporters. Information about exporters can be found using getNumWriteFiletypes(). This method is an extension versus the Open Inventor API.
|
|
Returns information about an image exporter. extlist is a list of filenameextensions for a file format. E.g. for JPEG it is legal to use both jpg and jpeg. fullname is the full name of the image format. description is an optional string with more information about the file format. This method is an extension versus the Open Inventor API.
|
|
Saves the buffer to filename, in the filetype specified by filetypeextensions. This method is an extension versus the Open Inventor API.
|