RemoteRendering

MLModule
genre Remote
author Uwe Siems
package MeVisLab/Standard
dll MLRemoteRendering
definition MLRemoteRendering.def
see also RemoteRenderingClient

Purpose

The module RemoteRendering is intended for the use in remote modules (it will also work locally, though) and allows to interact with and display Open Inventor scenes in remote modules. It does so by sending updated images to a client and receiving input events from this client

Usage

Attach your Open Inventor scene to the input of this module.

Attaching a RemoteRenderingClient to the output will render the scene to an internal buffer, which will be displayed by the panel of the RemoteRenderingClient. (You can also use a RemoteRendering control directly).

Normally one would use this by using the RemoteRendering module inside of a macro module that is turned into a remote module.

Details

This module renders the scene more or less the same way as the OffscreenRender module.

Tips

You can use a SoCameraInteraction module in your scene if you want basic camera interaction (and lighting) for a 3D scene.

Windows

Default Panel

../../../Modules/ML/MLRemoteRendering/mhelp/Images/Screenshots/RemoteRendering._default.png

Input Fields

sceneGraph

name: sceneGraph, type: SoNode

Connect your Open Inventor scene to this input.

Output Fields

output

name: output, type: MLBase

Connect a RemoteRenderingClient module to this output. Or apply a RemoteRendering control directly on this field.

Parameter Fields

Visible Fields

Enable Multi Sampling

name: enableMultiSampling, type: Bool, default: FALSE

Enable multi sample anti-aliasing (MSAA). This only works if framebuffer objects are supported.

Multi Sampling

name: multiSampling, type: Integer, default: 16

Sets the number of multi sampling samples that are used. If the hardware supports less samples, the module uses the maximum supported number of samples.

Intercept double-clicks

name: interceptDoubleClicks, type: Bool, default: FALSE

If set, the RemoteRendering module will intercept and remove double clicks (including the first click of a double click). This is done by delaying mouse clicks until the double click is received or the double click threshold (time or distance) is exceeded.

Be aware that using this feature can disturb the usual ordering between input events and other messages received from the remote connection.

<Double-click intercepted>

name: doubleClickIntercepted, type: Trigger

This is triggered when a double click was intercepted by the module.

Enable

name: overrideStreamingQuality, type: Bool, default: FALSE

Allows to override the image type and quality for image streaming.

NOTE: Typically the client can select the desired type and quality by sending the streaming settings, e.g. from JavaScript or the HTTP url. If overrideStreamingQuality is enabled, the quality is set by the server/this module and can not be set from the client any more.

Interactive Image Type

name: interactiveImageType, type: Enum, default: JPG

Type of the interactive image.

Values:

Title Name
Jpg JPG
Png PNG
Bmp BMP

High Quality Image Type

name: highQualityImageType, type: Enum, default: PNG

Type of the final HQ image.

Values:

Title Name
Jpg JPG
Png PNG
Bmp BMP

Interactive Jpg Quality

name: interactiveJpgQuality, type: Integer, default: 70, minimum: 0, maximum: 100

Interactive JPG quality (0-100).

High Quality Jpg Quality

name: highQualityJpgQuality, type: Integer, default: 100, minimum: 0, maximum: 100

HQ JPG quality (0-100).

Supported

name: supported, type: Bool, persistent: no

Shows whether offscreen rendering is available with your current graphics card and driver.

Use stencil buffer

name: stencilBuffer, type: Bool, default: FALSE

If checked, the stencil buffer support is activated.

Suppress render updates

name: suppressUpdates, type: Bool, default: FALSE

While enabled, no scene update notifications are sent to any client. Only when disabled again, a notification is sent (if necessary).

This is not a 100% protection against unwanted render updates: If a client requests a render update, e.g. because the scene was changed immediately before the suppression was activated, the scene is still rendered and the image sent to the client.

Transparency Type

name: transparencyType, type: Enum, default: BLEND

Defines the transparency type as it is also available in the SoRenderArea and SoExaminerViewer modules.

Values:

Title Name
Screen Door SCREEN_DOOR
Add ADD
Delayed Add DELAYED_ADD
Sorted Object Add SORTED_OBJECT_ADD
Blend BLEND
Delayed Blend DELAYED_BLEND
Sorted Object Blend SORTED_OBJECT_BLEND

Background Color

name: bgColor, type: Color, default: 0 0 0

Sets the default background color of the rendering.

Default is, of course, black.

Hidden Fields

imageRendered

name: imageRendered, type: Trigger

imageCacheId

name: imageCacheId, type: String

clearImageCacheOnClient

name: clearImageCacheOnClient, type: Trigger

storeTransparency

name: storeTransparency, type: Bool, default: FALSE

inputDevicesList

name: inputDevicesList, type: String