WidgetSpriteViewport Class
The scope of applications for UnigineScript is limited to implementing materials-related logic (material expressions, scriptable materials, brush materials). Do not use UnigineScript as a language for application logic, please consider C#/C++ instead, as these APIs are the preferred ones. Availability of new Engine features in UnigineScript (beyond its scope of applications) is not guaranteed, as the current level of support assumes only fixing critical issues.
Inherits from: | WidgetSprite |
This class is used to create virtual monitors that display data from arbitrary cameras in the world. This widget is used to render the whole scene, with all engine post-processes like HDR, DOF, motion blur, glow, etc. Unlike WidgetSpriteNode, this widget does not support alpha channel masking.
By default, the sprite viewport is rendered at the same frame rate as the main Unigine viewport. For it to be rendered at different frame rate (for example, lower one in order to decrease the rendering load), use setIFps().
The following sample demonstrates the usage of the WidgetSpriteViewport class:
WidgetSpriteViewport Class
Members
static WidgetSpriteViewport ( Gui gui, int width, int height ) #
Constructor. Creates a new viewport sprite with given properties and adds it to the specified GUI.Arguments
- Gui gui - GUI, to which the new sprite will belong.
- int width - Width of the sprite.
- int height - Height of the sprite.
static WidgetSpriteViewport ( int width, int height ) #
Constructor. Creates a new viewport sprite with given properties and adds it to the Engine GUI.Arguments
- int width - Width of the sprite.
- int height - Height of the sprite.
void setAspectCorrection ( int correction ) #
Sets the aspect correction for the WidgetSpriteViewport. 1 enables correction, 0 disables.Arguments
- int correction - 1 to enable aspect correction, 0 to disable.
int getAspectCorrection ( ) #
Returns the value indicating if the aspect correction enabled for WidgetSpriteViewport.Return value
1 if the aspect correction enabled, otherwise 0.void setCamera ( Camera camera ) #
Copies parameters of the given Camera instance.Arguments
- Camera camera - Camera to be copied.
getCamera ( ) #
Copies the instance of camera.Return value
Camera instance.void setIFps ( float ifps ) #
Sets a constant frame duration used to render sprite viewport. It can be used to decrease the frame rate to get higher performance. (For example, if the widget is used to create a TV set, lowered frame rate makes no visual difference, but allows for faster rendering of the scene.)Arguments
- float ifps - Frame duration in seconds (1/FPS). If a too small value is provided, 1E-6 will be used instead. 0 means that a widget is rendered at the same frame rate as the main application window.
float getIFps ( ) #
Returns the current constant frame duration used to render WidgetSpriteViewport viewport.Return value
Frame duration in seconds (1 / FPS).void setModelview ( Mat4 modelview ) #
Sets a model-view matrix for the associated camera.Arguments
- Mat4 modelview - Model-view matrix.
Mat4 getModelview ( ) #
Returns the current model-view matrix of the associated camera.Return value
Model-view matrix.void setProjection ( mat4 projection ) #
Sets a projection matrix for the associated camera.Arguments
- mat4 projection - Projection matrix.
mat4 getProjection ( ) #
Returns the current projection matrix of the associated camera.Return value
Projection matrix.void setReflectionViewportMask ( int mask ) #
Sets a bit mask for rendering reflections into the viewport. Reflections are rendered in the sprite viewport if masks of reflective materials match this one (one bit at least).Arguments
- int mask - Integer, each bit of which is a mask.
int getReflectionViewportMask ( ) #
Returns the current bit mask for rendering reflections into the viewport. Reflections are rendered in the sprite viewport if masks of reflective materials match this one (one bit at least).Return value
Integer, each bit of which is a mask.void setSkipFlags ( int flags ) #
Sets the skip flag for the WidgetSpriteViewport viewport.Arguments
- int flags - A skip flag. Available flags:
- SKIP_SHADOWS
- SKIP_VISUALIZER
- SKIP_POSTEFFECTS
- SKIP_DYNAMIC_REFLECTIONS
- SKIP_VELOCITY_BUFFER
- SKIP_SRGB
int getSkipFlags ( ) #
Returns the skip flag set for the current viewport.Return value
A skip flag. Available flags:- SKIP_SHADOWS
- SKIP_VISUALIZER
- SKIP_POSTEFFECTS
- SKIP_DYNAMIC_REFLECTIONS
- SKIP_VELOCITY_BUFFER
- SKIP_SRGB
void setTextureHeight ( int height ) #
Sets the height of the texture buffer used for a widget. This affects the widget size accordingly.Arguments
- int height - Height of the texture buffer size.
int getTextureHeight ( ) #
Returns the height of the texture buffer used for a widget that affects the widget size.Return value
Height of the texture buffer size.void setTextureWidth ( int width ) #
Sets the width of the texture buffer used for a widget. This affects the widget size accordingly.Arguments
- int width - Width of the texture buffer size.
int getTextureWidth ( ) #
Returns the width of the texture buffer used for a widget that affects the widget size.Return value
Width of the texture buffer size.void setViewportMask ( int mask ) #
Sets a bit mask for rendering into the viewport. Nodes are rendered in this sprite viewport if their masks match this one.Arguments
- int mask - Integer, each bit of which is a mask.
int getViewportMask ( ) #
Returns the current bit mask for rendering into the viewport. Nodes are rendered in the sprite viewport if their masks match this one.Return value
Integer, each bit of which is a mask.void appendSkipFlags ( int flags ) #
Appends a new skip flag without rewriting already set.Arguments
- int flags - A skip flag. Available flags:
- SKIP_SHADOWS
- SKIP_VISUALIZER
- SKIP_POSTEFFECTS
- SKIP_DYNAMIC_REFLECTIONS
- SKIP_VELOCITY_BUFFER
- SKIP_SRGB
int checkSkipFlags ( int flags ) #
Checks if given flags are already set.Arguments
- int flags - A skip flag. Available flags:
- SKIP_SHADOWS
- SKIP_VISUALIZER
- SKIP_POSTEFFECTS
- SKIP_DYNAMIC_REFLECTIONS
- SKIP_VELOCITY_BUFFER
- SKIP_SRGB
Return value
1 if flag/flags already set, otherwise 0.void removeSkipFlags ( int flags ) #
Removes the given skip flag without affecting other set flags.Arguments
- int flags - A skip flag to be removed. Available flags:
- SKIP_SHADOWS
- SKIP_VISUALIZER
- SKIP_POSTEFFECTS
- SKIP_DYNAMIC_REFLECTIONS
- SKIP_VELOCITY_BUFFER
- SKIP_SRGB
void renderImage ( Image image ) #
Renders the sprite viewport into the image.Arguments
- Image image - Source image.
void setImage ( Image image, int dynamic = 0 ) #
Sets a loaded into memory image for the first (bottom) layer of the sprite. This layer always exists in the sprite. An additional flag can be set in case the sprite image is going to be updated often or even each frame (for optimized memory management).This method is intended for changing the sprite's background texture and is valid only for the base WidgetSprite class. It cannot be used for the WidgetSpriteViewport!
Arguments
- Image image - Pointer to the image.
- int dynamic - Positive number if the image will be updated each frame; otherwise, 0.
Image getImage ( ) #
Returns the loaded into memory image that is currently set for the first (bottom) layer of the sprite.This method is valid only for the base WidgetSprite class. It cannot be used for the WidgetSpriteViewport!
Return value
Pointer to the image.void setRender ( Texture texture, int flipped = 0 ) #
Sets a texture to be rendered for the first (bottom) layer of the sprite.This method is intended for changing the sprite's background texture and is valid only for the base WidgetSprite class. It cannot be used for the WidgetSpriteViewport!
Arguments
- Texture texture - Pointer to the texture.
- int flipped - Flipped flag.
Texture getRender ( ) #
Returns the pointer to the texture that is currently set for the first (bottom) layer of the sprite.This method is valid only for the base WidgetSprite class. It cannot be used for the WidgetSpriteViewport!
Return value
Pointer to the texture.Last update:
2021-12-13
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)