Renderer Element

Modified on 2018/07/16 01:32 by Administrator — Categorized as: Base Elements, Elements, Visual Stimuli

Summary

Element Icon Renderer
Info
Category: Visual Stimuli AddIn: Base Layer
Creator: OkazoLab Scope: Parent event
Owns Snippets: None Usage: Stimulus screen

Properties

NameDescription                              ConstraintsTypeOn
runtime
change
Material List
Selected Index        Defines an index of the selected library item in the list of this element                Int32         
Selected Item        Defines a name if the selected library item in the list of this element                String         
Item Count        Return the total number of material items in the list of this element                Int32         
Equalize RGB        If true,the RGB pixel intensity is equalized across all loaded items                Boolean         
Visual Appearance
Alpha Masking        Defines, whether the visual content is used to create an opacity mask on the event surface. If masking is on, the content's pixel luminance (or, its inverse) defines transparency within element's viewport. The alpha masking allows, for example, create transparent holes on the event surface.                Int32         
AntiAliasing        if true, the rendered content will be antialiased for smoother visual appeariance. If false, rendering will be authentic to its source, e.g. a bitmap.                Boolean         
Position        Defines a position of the rendering viewport on the screen                clPoint         
Size        Defines a size of the element's rendering viewport on the screen                clSize         
Z Order        Indicates Z Order of the element on the given event                Int32         
Pivot Point        Defines alignment of the pivot point (or, element's position) relative to element's rendering area. The pivot point sets the center of element's rotation and scale directions.                stAlig..         
Visible        Defines whether the element is visible                Boolean         
Rotation        Rotation angle in degrees                Double         
Effects
Transparent Color        The color of the original pixels of rendered content that will be set as transparent                stColor         
Transparent Tolerance        Tolerance ratio for choosing colors that become transparent. Zero means that effect is not applied, 1 denotes that all colors will become trasparent                Int32         
Color Mask        Produces a multiplicative combination of the original pixels and the selected mask color (except the alpha channel).  The effect emulates a look through a colored glass.  White or transparent mask color dont change the original pixels                stColor         
Opacity        Opacity of the rendered content                Int32         
Contrast        Contrast of the rendered content                Int32         
Brightness        Brightness the rendered content                Int32         
Saturation        Saturation of the rendered content                Double         
Pixelation        Pixelation of the rendered content                Int32         
Blurring        The radius used in the gaussian blur of rendered content, as a pixel-based factor. The default is 0 which means no blurring.                Int32         
Scrambling                        Double         
Scrambling Grid Size        Defines a size of the scrambling grid                clSize         
Positional Jitter
Reset Jitter Now        Runtime command that resets the positional jitter.                Boolean         
Current Jitter        Returns the current jitter                clPoint         
Jitter Range        Defines a possible range for the random jitter. The range is centered to the position of the element.                clSize         
Test Jitter        Click to test the current jitter                Boolean         
Control
Is Enabled        If set to false the element is completely omitted when the experiment is run                Boolean         
Title        Title of the element                String         

Renderer Element allows to render any static graphical content stored in Material Library, e.g. bitmaps or vector shapes. The element provides a scalable viewport for the content, spatial transformations and various visual effects. Several hardware-accelerated image processing procedures are also available. Multiple content items can be loaded into element's list in order to form a visual stimulus set.

Snapshots

3D Graphic

3D Graphic

Jpg/Png pictures

Jpg/Png pictures

Vector Graphic

Vector Graphic

Built-in library  vector graphic

Built-in library
vector graphic

Practical Use

The rendering can be tuned with various properties of the Renderer element. For example, you can adjust the size and contrast of the original graphics item and set its rotation angle.

Each Renderer element works with its own list of loaded Library items. It's handy for experimental scenarios where you need to present a visual stimulus selected randomly from a stimulus set. You can form a list by simply dragging library items to a Renderer element in the Element Panel. The items included in the list can be always reordered such that each item has its own integer index. Renderer elements has a property that defines which item is currenlty selected and rendered on the screen. Changing this property will cause rendering of a new item.

Creating a single Renderer on a visual scene

  1. Click on "add element", and select the Renderer element.
  2. Navigate to the Material Library.
  3. Drag selected visual materials (e.g an image or images) onto the Renderer element, in the element list on the left of the main window. Notice that you can change sorting order
  4. Click on an expander button of Renderer icon to check a list loaded items and rearrange them, if necessary.
  5. Adjust a position and size of the Renderer viewport on the event surface.
  6. Check other properties of the Renderer element in the property grid (the element has to be selected first)

Using Renderer to create a switchable stimulus list

  1. The procedure is the same as above, except that you may drag & drop multiple visual materials onto the element.
    You may click on the down arrows to expand the list of elements.

    You may double click on one of the material items in the element to draw it on screen.

    The 'Selected Index' property will hold the index of the item in the element and the 'Selected Item' property will hold the name of the item. These properties can be changed at run time as described below.

Multiple Materials

Multiple Materials





Adjusting the renderer at runtime using a proxy variable

You can change what the Renderer Element shows at run time by using code and a Proxy Variables.


  1. Create a Renderer Element with multiple material items as above.
  2. Create a Proxy Variable from the "Selected Index" property. (please see Proxy Variables if you do not know how to do this). E.g name it "StimulusIndex"
  3. Now you can use the following code to change which item is displayed in the Renderer Element:


StimulusIndex=2;

  1. Alternatively, one can create a Proxy Variable for the "Selected Item" property, and then use code to change the item according to it's name.
    e.g
    StimulusItem="Red Circle";