This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Basics
Rendering
Professional (SIM)
UnigineEditor
Interface Overview
Assets Workflow
Version Control
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
Sandworm
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Built-in Node Types
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
Materials and Shaders
Rebuilding the Engine Tools
GUI
Double Precision Coordinates
API
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
VR-Related Classes
Content Creation
Content Optimization
Materials
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials

Unigine::Render Class

Header: #include <UnigineRender.h>

Provides access to Unigine rendering functions. For example, it is used by Wall application to render onto multiple monitors.

See Also#

  • A set of UnigineScript API samples located in the <UnigineSDK>/data/samples/rendering/ folder

Render Class

Enums

PASS#

NameDescription
PASS_WIREFRAME = 0Wireframe pass.
PASS_VISUALIZER_SOLID = 1Visualizer pass.
PASS_DEFERRED = 2Deferred pass.
PASS_AUXILIARY = 3Auxiliary pass.
PASS_EMISSION = 4Emission pass.
PASS_REFRACTION = 5Refraction pass.
PASS_TRANSPARENT_BLUR = 6Transparent blur pass.
PASS_AMBIENT = 7Ambient pass.
PASS_LIGHT_VOXEL_PROBE = 8Light voxel probe pass.
PASS_LIGHT_ENVIRONMENT_PROBE = 9Light environment probe pass.
PASS_LIGHT_PLANAR_PROBE = 10Light planar probe pass.
PASS_LIGHT_OMNI = 11Omni light pass.
PASS_LIGHT_PROJ = 12Proj light pass.
PASS_LIGHT_WORLD = 13World light pass.
PASS_SHADOW = 14Shadow pass.
PASS_DEPTH_PRE_PASS = 15Depth pre-pass.
PASS_MS_DEPTH = 16MS depth pass.
PASS_POST = 17Post materials pass.
PASS_LIGHTMAP_DATA = 18Lightmap data rendering pass.
PASS_PROCEDURAL_DECALS = 19Pass for rendering of particles into procedural textures to be used by orthographic decals.
PASS_PROCEDURAL_FIELDS = 20Pass for rendering of particles into procedural textures to be used by height fields.
PASS_MIXED_REALITY_BLEND_MASK_COLOR = 21Pass for rendering the blend mask for mixed reality.
PASS_CUSTOM_0 = 22Custom pass (unassigned).
PASS_CUSTOM_1 = 23Custom pass (unassigned).
PASS_CUSTOM_2 = 24Custom pass (unassigned).
PASS_CUSTOM_3 = 25Custom pass (unassigned).
PASS_CUSTOM_4 = 26Custom pass (unassigned).
PASS_CUSTOM_5 = 27Custom pass (unassigned).
PASS_CUSTOM_6 = 28Custom pass (unassigned).
PASS_CUSTOM_7 = 29Custom pass (unassigned).
PASS_CUSTOM_8 = 30Custom pass (unassigned).
PASS_CUSTOM_9 = 31Custom pass (unassigned).
PASS_CUSTOM_10 = 32Custom pass (unassigned).
PASS_CUSTOM_11 = 33Custom pass (unassigned).
PASS_CUSTOM_12 = 34Custom pass (unassigned).
PASS_CUSTOM_13 = 35Custom pass (unassigned).
PASS_CUSTOM_14 = 36Custom pass (unassigned).
PASS_CUSTOM_15 = 37Custom pass (unassigned).
PASS_CUSTOM_16 = 38Custom pass (unassigned).
PASS_CUSTOM_17 = 39Custom pass (unassigned).
PASS_CUSTOM_18 = 40Custom pass (unassigned).
PASS_CUSTOM_19 = 41Custom pass (unassigned).
PASS_CUSTOM_20 = 42Custom pass (unassigned).
PASS_CUSTOM_21 = 43Custom pass (unassigned).
PASS_CUSTOM_22 = 44Custom pass (unassigned).
PASS_CUSTOM_23 = 45Custom pass (unassigned).
PASS_CUSTOM_24 = 46Custom pass (unassigned).
PASS_CUSTOM_25 = 47Custom pass (unassigned).
PASS_CUSTOM_26 = 48Custom pass (unassigned).
PASS_CUSTOM_27 = 49Custom pass (unassigned).
PASS_CUSTOM_28 = 50Custom pass (unassigned).
PASS_CUSTOM_29 = 51Custom pass (unassigned).
PASS_CUSTOM_30 = 52Custom pass (unassigned).
PASS_CUSTOM_31 = 53Custom pass (unassigned).
PASS_CUSTOM_32 = 54Custom pass (unassigned).
NUM_PASSES = 55Total number of rendering passes.

GGX_MIPMAPS_QUALITY#

Quality of GGX mipmaps for environment reflections on rough surfaces.
NameDescription
GGX_MIPMAPS_QUALITY_LOW = 0Low quality of GGX mipmaps.
GGX_MIPMAPS_QUALITY_MEDIUM = 1Medium quality of GGX mipmaps.
GGX_MIPMAPS_QUALITY_HIGH = 2High quality of GGX mipmaps.
GGX_MIPMAPS_QUALITY_ULTRA = 3Ultra quality of GGX mipmaps.

STREAMING_MESHES_PREFETCH#

NameDescription
STREAMING_MESHES_PREFETCH_DISABLE = 0Asynchronous pre-loading of meshes is disabled.
STREAMING_MESHES_PREFETCH_RADIUS = 1Asynchronous pre-loading of meshes is enabled within a certain radius.
STREAMING_MESHES_PREFETCH_FULL = 2Asynchronous pre-loading of all meshes is enabled.

SHOW_TEXTURE_RESOLUTION_UV#

NameDescription
SHOW_TEXTURE_RESOLUTION_UV_MODE_0 = 0UV Channel 0 is used for visualization of the texture resolution.
SHOW_TEXTURE_RESOLUTION_UV_MODE_1 = 1UV Channel 1 is used for visualization of the texture resolution.

SHOW_TEXTURE_RESOLUTION#

NameDescription
SHOW_TEXTURE_RESOLUTION_DISABLED = 0Texture resolution rendering mode is disabled.
SHOW_TEXTURE_RESOLUTION_BY_MAX_PIXEL_COUNT = 1Surfaces are colored depending on maximum resolution of textures used in materials assigned to them in accordance with the scale.
SHOW_TEXTURE_RESOLUTION_BY_SCREEN_SIZE = 2Surfaces are colored to display the relationship between maximum texture resolution of the material to the size of triangles on the screen to which it is applied: blue indicates insufficient texture resolution, while yellow tells that it is excessive, if the color is green - everything is ok.

SHOW_IMMOVABLE#

NameDescription
SHOW_IMMOVABLE_DISABLED = 0Do not display geometry with or without the Immovable option.
SHOW_IMMOVABLE_OPTION_ENABLED = 1Display geometry with the Immovable option enabled.
SHOW_IMMOVABLE_OPTION_DISABLED = 2Display geometry with the Immovable option disabled.

SHOW_VERTEX_COLOR#

NameDescription
SHOW_VERTEX_COLOR_DISABLED = 0Displaying of vertex colors is disabled.
SHOW_VERTEX_COLOR_RED = 1Display geometry that uses the red vertex color channel.
SHOW_VERTEX_COLOR_GREEN = 2Display geometry that uses the green vertex color channel.
SHOW_VERTEX_COLOR_BLUE = 3Display geometry that uses the blue vertex color channel.
SHOW_VERTEX_COLOR_ALPHA = 4Display geometry that uses the alpha vertex color channel.
SHOW_VERTEX_COLOR_RGB = 5Display geometry that uses RGB vertex color channels.

TONEMAPPER#

Tone mapping mode.
NameDescription
TONEMAPPER_FILMIC = 0Filmic - basic customizable filmic tone mapping mode.
TONEMAPPER_ACES = 1ACES - tone mapping in accordance with the industry standard set by the Academy Color Encoding System (ACES) for television and film.
TONEMAPPER_MIX_ACES_WITH_REINHARD = 2Mix ACES With Reinhard - Combination of ACES and Reinhard tone mapping.
TONEMAPPER_REINHARD = 3Reinhard - Simple Reinhard. C/(1+C) formula applied to each of the channels. May cause slight desaturation.
TONEMAPPER_REINHARD_LUMA_BASED = 4Reinhard Luma-Based - Luma-based Reinhard tone mapping, applied to luminance only. More accurate representation of colors.

VIEWPORT_MODE#

NameDescription
VIEWPORT_MODE_DEFAULT = 0Enables the default stereo mode - no stereo and panoramic rendering in the current viewport is available. This mode is set by default for a new viewport.
VIEWPORT_MODE_PANORAMA_CURVED_180 = 1Enables rendering of the viewport as a panorama with curved edges with an angle of 180 degrees.
VIEWPORT_MODE_PANORAMA_CURVED_360 = 2Enables rendering of the viewport as a panorama with curved edges with an angle of 360 degrees.
VIEWPORT_MODE_PANORAMA_LINEAR_180 = 3Enables rendering of the viewport as a linear panorama without distortion at the edges with an angle of 180 degrees.
VIEWPORT_MODE_PANORAMA_LINEAR_360 = 4Enables rendering of the viewport as a linear panorama without distortion at the edges with an angle of 360 degrees.
VIEWPORT_MODE_PANORAMA_FISHEYE_ORTHOGRAPHIC = 5Enables rendering of the viewport as an orthographic spherical panorama (fisheye).
VIEWPORT_MODE_PANORAMA_FISHEYE_EQUDISTANT = 6Enables rendering of the viewport as an equidistant spherical panorama (fisheye).
VIEWPORT_MODE_PANORAMA_FISHEYE_STEREOGRAPHIC = 7Enables rendering of the viewport as an stereographic spherical panorama (fisheye).
VIEWPORT_MODE_PANORAMA_FISHEYE_EQUISOLID = 8Enables rendering of the viewport as an equisolid spherical panorama (fisheye).
VIEWPORT_MODE_STEREO_ANAGLYPH = 9Enables the anaglyph stereo mode that is viewed with red-cyan anaglyph glasses.
VIEWPORT_MODE_STEREO_INTERLACED = 10Enables the interlaced stereo mode that is used with interlaced stereo monitors and polarized 3D glasses.
VIEWPORT_MODE_STEREO_HORIZONTAL = 11Enables the horizontal stereo mode that is supported on mobile devices.
VIEWPORT_MODE_STEREO_VERTICAL = 12Enables the vertical stereo mode that is supported on mobile devices.
VIEWPORT_MODE_STEREO_SEPARATE = 13Enables the replicate images stereo mode.
VIEWPORT_MODE_STEREO_REPLICATE = 14Enables the separate images stereo mode. This mode serves to output two separate images for each of the eye. It can be used with any VR/AR output devices that support separate images output, e.g. for 3D video glasses or helmets (HMD).

VSYNC#

NameDescription

SHOW_LIGHTING_MODE#

NameDescription
SHOW_LIGHTING_MODE_DISABLED = 0Displaying of lighting mode is disabled.
SHOW_LIGHTING_MODE_STATIC = 1Displaying of surfaces for which static lighting mode is enabled.
SHOW_LIGHTING_MODE_DYNAMIC = 2Displaying of surfaces for which dynamic lighting mode is enabled.
SHOW_LIGHTING_MODE_ADVANCED = 3Displaying of surfaces for which advanced lighting mode is enabled.

SHADERS_COMPILE_MODE#

NameDescription
SHADERS_COMPILE_MODE_ASYNC = 0Asynchronous shaders compilation mode.
SHADERS_COMPILE_MODE_FORCE = 1Forced shaders compilation mode.

EXPOSURE_MODE#

NameDescription
EXPOSURE_MODE_DISABLED = 0Static exposure mode. The amount of luminance is determined by the Exposure (see the setExposure()) depending on the Camera Mode (see the setCameraMode()) parameter.
EXPOSURE_MODE_LOGARITHMIC = 1Exposure mode based on the adaptive logarithmic mapping technique.
EXPOSURE_MODE_QUADRATIC = 2Exposure mode based on the adaptive quadratic mapping technique.
EXPOSURE_MODE_CURVE_BASED = 3Exposure mode based on the adaptive curve mapping technique.

CAMERA_MODE#

NameDescription
CAMERA_MODE_CLASSIC = 0Camera mode with the exposure set by the Exposure value (see the setExposure()).
CAMERA_MODE_PHYSICALLY_BASED = 1Camera mode with the real-world values used to set up lighting and camera exposure: ISO (see the setISO()), shutter speed (see the setShutterSpeed()), F-stop (see the setFStop()). With the default values of these parameters, the static exposure value is near 1. The exposure mode (see the setExposureMode()) should be set to Static to avoid exposure issues.

RENDER_API#

NameDescription
API_NULL = 0Null API name.
API_OPENGL = 1OpenGL API.
API_DIRECT3D11 = 2DIRECT3D 11 API.
API_DIRECT3D12 = 3DIRECT3D 12 API.
API_VULKAN = 4VULKAN API.

RENDER_FSR_MODE#

Quality modes of FSR (FidelityFX Super Resolution upsampling technique).
NameDescription
RENDER_FSR_MODE_ULTRA_PERFORMANCE = 0Provides the highest performance gain while still maintaining an image quality representative of native rendering. 3.0x per dimension.
RENDER_FSR_MODE_PERFORMANCE = 1Provides an image quality similar to native rendering with a major performance gain. 2.0x per dimension.
RENDER_FSR_MODE_BALANCED = 2Offers an ideal compromise between image quality and performance gains. 1.7x per dimension.
RENDER_FSR_MODE_QUALITY = 3Provides an image quality equal or superior to native rendering with a significant performance gain. 1.5x per dimension.
RENDER_FSR_NUM_MODES = 4Total number of FSR quality modes.

RENDER_DLSS_PRESET#

Presets of DLSS (Deep Learning Super Sampling technique).
NameDescription
RENDER_DLSS_PRESET_DEFAULT = 0
RENDER_DLSS_PRESET_A = 1DLSS Preset A. Intended for Performance/Balanced/Quality modes. An older variant best suited to combat ghosting for elements with missing inputs, such as motion vectors.
RENDER_DLSS_PRESET_B = 2DLSS Preset B. Intended for Ultra Performance mode. Similar to Preset A but for Ultra Performance mode.
RENDER_DLSS_PRESET_C = 3DLSS Preset C (most preferred): Intended for Performance/Balanced/Quality modes. Generally favors current frame information; well suited for fast-paced game content.
RENDER_DLSS_PRESET_D = 4DLSS Preset D (2nd preferred): Default preset for Performance/Balanced/Quality modes; generally favors image stability.
RENDER_DLSS_PRESET_E = 5DLSS Preset E: A development model that is not currently used.
RENDER_DLSS_PRESET_F = 6DLSS Preset F: Default preset for Ultra Performance and DLAA modes.
RENDER_DLSS_PRESET_G = 7DLSS Preset G: Unused.
RENDER_DLSS_NUM_PRESETS = 8Total number of DLSS presets.

RENDER_DLSS_MODE#

Quality modes of DLSS (Deep Learning Super Sampling technique).
NameDescription
RENDER_DLSS_MODE_ULTRA_PERFORMANCE = 0The Ultra Performance quality mode that provides frames per second at the cost of internal resolution and output visuals. It may result in soft, blurry graphics because of the large gap between internal render and the output resolution.
RENDER_DLSS_MODE_MAX_PERFORMANCE = 1The Max Performance quality mode that prioritizes frame rate over resolution. It is recommended for users with 1440p/2K monitors, providing better performance with minimal effort.
RENDER_DLSS_MODE_BALANCED = 2The Balanced quality mode that balances render and output resolution trying to provide the best possible frame rate or the frame rate you request in the app settings.
RENDER_DLSS_MODE_MAX_QUALITY = 3The Max Quality quality mode that prioritizes visual quality over frame rate. It renders the image internally at the closest resolution possible to the target resolution.
RENDER_DLSS_MODE_DLAA = 4The DLAA quality mode which is an AI-powered tool to eliminate jagged edges in video apps, maintaining native resolutionunlike DLSS. It improves image quality with less performance cost than traditional methods.
RENDER_DLSS_NUM_MODES = 5Total number of DLSS modes.

RENDER_UPSCALE_MODE#

NameDescription
RENDER_UPSCALE_MODE_NONE = 0No upscaling - 1.0x per dimension, the final image has 100% rendered resolution.
RENDER_UPSCALE_MODE_FSR = 1The Fidelity FX Super Resolution upscaling mode.
RENDER_UPSCALE_MODE_DLSS = 2The Deep Learning Super Sampling upscaling mode.
RENDER_UPSCALE_NUM_MODES = 3Total number of upscaling modes.

MATERIALS_QUALITY#

NameDescription
MATERIALS_QUALITY_LOW = 0Low quality of materails.
MATERIALS_QUALITY_MEDIUM = 1Medium quality of materails.
MATERIALS_QUALITY_HIGH = 2High quality of materails.

SHOW_TEXTURE_RESOLUTION_STREAMING_ACCOUNTING#

NameDescription
SHOW_TEXTURE_RESOLUTION_STREAMING_ACCOUNTING_MODE_ACTUAL = 0Actual resolution.
SHOW_TEXTURE_RESOLUTION_STREAMING_ACCOUNTING_MODE_REQUESTED = 1Requested texture resolution.
SHOW_TEXTURE_RESOLUTION_STREAMING_ACCOUNTING_MODE_SOURCE = 2Source texture resolution.

STREAMING_VRAM_BUDGET#

NameDescription
STREAMING_VRAM_BUDGET_SYSTEM = 0The available VRAM size is obtained from the operating system.
STREAMING_VRAM_BUDGET_DRIVER = 1The VRAM available for the application is determined by the video driver.
STREAMING_VRAM_BUDGET_FULL_GPU_MEMORY = 2All VRAM is available for the application.

STREAMING_MODE#

NameDescription
STREAMING_MODE_ASYNC = 0Asyncronous data streaming mode.
STREAMING_MODE_FORCE = 1Forced data streaming mode.

Members

void setEnabled ( bool enabled ) #

Sets a new a value indicating if the render is enabled.

Arguments

  • bool enabled - Set true to enable the render is; false - to disable it.

bool isEnabled() const#

Returns the current a value indicating if the render is enabled.

Return value

true if the render is is enabled; otherwise false.

int getNumTriangles() const#

Returns the current number of rendered per frame triangles that can be seen in the viewport. See Rendering Profiler article for details.

Return value

Current number of triangles.

int getNumSurfaces() const#

Returns the current number of rendered per frame surfaces that can be seen in the viewport (in all rendering passes). See Rendering Profiler article for details.

Return value

Current number of surfaces.

int getNumShadows() const#

Returns the current number of shadow passes rendered per frame. See Rendering Profiler article for details.

Return value

Current number of shadow passes.

long long getNumShaders() const#

Returns the current number of shaders set per frame. See Rendering Profiler article for details.

Return value

Current number of shaders.

int getNumReflections() const#

Returns the current number of reflections drawn per frame that can be seen in the viewport. In case of cubemap reflections, if all six faces are updated, six reflections are rendered per each frame.

Return value

Current number of reflections.

int getNumPrimitives() const#

Returns the current number of geometric rendered per frame primitives that can be seen in the viewport. See Rendering Profiler article for details.

Return value

Current number of primitives.

int getNumMaterials() const#

Returns the current number of materials set per frame (during all of the rendering passes) in the current scene.

Return value

Current number of materials.

int getNumLights() const#

Returns the current number of light passes rendered per frame. It means that the value contains the number of all light sources that are currently seen illuminating something in the viewport and also includes additional passes for rendering lights in the reflecting surfaces (if dynamical reflections are used). See Rendering Profiler article for details.

Return value

Current number of light passes.

int getNumDips() const#

Returns the current number of draw calls used in the current scene. See Rendering Profiler article for details.

Return value

Current number of draw calls.

int getNumDecals() const#

Returns the current number of rendered per frame decals that can be seen in the viewport (during all of the rendering passes).

Return value

Current number of decals.

int getHDRTextureFormat() const#

Returns the current HDR texture format to be used.

Return value

Current

void setShowFieldMask ( bool mask = 0 ) #

Console: render_show_field_mask
Sets a new value indicating whether the visualizer is enabled to highlight the surfaces that use the specified bits of the field mask.

Arguments

  • bool mask - Set true to enable visualizer for the surfaces using the field mask; false - to disable it. The default value is false.

bool isShowFieldMask() const#

Console: render_show_field_mask
Returns the current value indicating whether the visualizer is enabled to highlight the surfaces that use the specified bits of the field mask.

Return value

true if visualizer for the surfaces using the field mask is enabled; otherwise false. The default value is false.

void setShowFieldMaskBits ( int bits ) #

Console: render_show_field_mask_bits
Sets a new value indicating which bit or bits of the field mask are used for visualization. The surfaces that use the specified bits of the field mask will be highlighted. To use this option, rendering of the relevant visualizer (see the setShowFieldMask()) should be enabled.
Notice
Please note that the argument is an integer value, so the bit mask has to be represented accordingly.

Arguments

  • int bits - The bits of the field mask to be visualized, represented as an integer value

int getShowFieldMaskBits() const#

Console: render_show_field_mask_bits
Returns the current value indicating which bit or bits of the field mask are used for visualization. The surfaces that use the specified bits of the field mask will be highlighted. To use this option, rendering of the relevant visualizer (see the setShowFieldMask()) should be enabled.
Notice
Please note that the argument is an integer value, so the bit mask has to be represented accordingly.

Return value

Current bits of the field mask to be visualized, represented as an integer value

void setShowShadowMask ( bool mask = 0 ) #

Console: render_show_shadow_mask
Sets a new value indicating whether the visualizer is enabled to highlight the surfaces that use the specified bits of the shadow mask.

Arguments

  • bool mask - Set true to enable visualizer for the surfaces using the shadow mask; false - to disable it. The default value is false.

bool isShowShadowMask() const#

Console: render_show_shadow_mask
Returns the current value indicating whether the visualizer is enabled to highlight the surfaces that use the specified bits of the shadow mask.

Return value

true if visualizer for the surfaces using the shadow mask is enabled; otherwise false. The default value is false.

void setShowShadowMaskBits ( int bits ) #

Console: render_show_shadow_mask_bits
Sets a new value indicating which bit or bits of the shadow mask are used for visualization. The surfaces that use the specified bits of the shadow mask will be highlighted. To use this option, rendering of the relevant visualizer (see the setShowShadowMask()) should be enabled.
Notice
Please note that the argument is an integer value, so the bit mask has to be represented accordingly.

Arguments

  • int bits - The bits of the shadow mask to be visualized, represented as an integer value

int getShowShadowMaskBits() const#

Console: render_show_shadow_mask_bits
Returns the current value indicating which bit or bits of the shadow mask are used for visualization. The surfaces that use the specified bits of the shadow mask will be highlighted. To use this option, rendering of the relevant visualizer (see the setShowShadowMask()) should be enabled.
Notice
Please note that the argument is an integer value, so the bit mask has to be represented accordingly.

Return value

Current bits of the shadow mask to be visualized, represented as an integer value

void setShowObstacleMask ( bool mask = 0 ) #

Console: render_show_obstacle_mask
Sets a new value indicating whether the visualizer is enabled to highlight the surfaces that use the specified bits of the obstacle mask.

Arguments

  • bool mask - Set true to enable visualizer for the surfaces using the obstacle mask; false - to disable it. The default value is false.

bool isShowObstacleMask() const#

Console: render_show_obstacle_mask
Returns the current value indicating whether the visualizer is enabled to highlight the surfaces that use the specified bits of the obstacle mask.

Return value

true if visualizer for the surfaces using the obstacle mask is enabled; otherwise false. The default value is false.

void setShowObstacleMaskBits ( int bits ) #

Console: render_show_obstacle_mask_bits
Sets a new value indicating which bit or bits of the obstacle mask are used for visualization. The surfaces that use t