Rechercher une page de manuel
icetDrawFrame
Langue: en
Version: February 14, 2008 (ubuntu - 24/10/10)
Section: 3 (Bibliothèques de fonctions)
NAME
icetDrawFrame -- renders and composites a frame
Synopsis
#include <GL/ice-t.h>
void icetDrawFrame(void); |
Description
Initiates a frame draw using the current OpenGL transformation matrices (modelview and projection).
IceT may render an image, the tile display needs to be defined (using icetAddTile) and the drawing function needs to be set (using icetDrawFunc). The composite strategy may also optionally be set (using icetStrategy).
If ICET_DISPLAY is enabled, then the fully composited image is written back to the OpenGL framebuffer for display. It is the application's responsibility to synchronize the processes and swap front and back buffers. If the OpenGL background color is set to something other than black, ICET_DISPLAY_COLORED_BACKGROUND should also be enabled. Displaying with ICET_DISPLAY_COLORED_BACKGROUND disabled may be slightly faster (depending on graphics hardware) but can result in black rectangles in the background. If ICET_DISPLAY_INFLATE is enabled and the size of the renderable window (determined by the current OpenGL viewport) is greater than that of the tile being displayed, then the image will first be `inflated' to the size of the actual display. If ICET_DISPLAY_INFLATE is disabled, the image is drawn at its original resolution at the lower left corner of the display.
The image remaining in the frame buffer is undefined if ICET_DISPLAY is disabled or the process is not displaying a tile.
Errors
- ICET_INVALID_OPERATION
Raised if the drawing function has not been set. Also can be raised if icetDrawFrame is called recursively, probably from within the drawing callback.- ICET_OUT_OF_MEMORY
Not enough memory left to hold intermittent frame buffers and other temporary data.
Warnings
None.
Bugs
If compositing with color blending on, the image returned with icetGetColorBuffermay have values of $<R, G, B, A >= <0, 0, 0, 0 >$and the rest of the image may be blended with black rather than the correct background color.
During compositing, image compression is employed that relies on knowing the maximum possible value in the z-buffer. Unfortunately, different rendering hardware can give different results for this value. IceT tries to dermine this value up front by clearing the screen and reading the z-buffer value, but this test sometimes fails, resulting in a classification of background. The side effects of this are minimal, and IceT usually quickly fixes the problem by continually checking depth values.
Copyright
Copyright (C)2003 Sandia Corporation
Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive license for use of this work by or on behalf of the U.S. Government. Redistribution and use in source and binary forms, with or without modification, are permitted provided that this Notice and any statement of authorship are reproduced on all copies.
See Also
icetResetTiles(3), icetAddTile(3), icetBoundingBox(3), icetBoundingVertices(3), icetDrawFunc(3), icetStrategy(3), icetGetColorBuffer(3), icetGetDepthBuffer(3)
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre