Summary
|
Renderer
|
Info |
Category: |
Visual Stimuli |
|
AddIn: |
Base Layer |
Creator: |
OkazoLab |
|
Scope: |
Parent event |
Owns Snippets: |
None |
|
Usage: |
Stimulus screen |
Properties
Name | Description | Constraints | Type | On 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 | Jpg/Png pictures |
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
- Click on "add element", and select the Renderer element.
- Navigate to the Material Library.
- 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
- Click on an expander button of Renderer icon to check a list loaded items and rearrange them, if necessary.
- Adjust a position and size of the Renderer viewport on the event surface.
- 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
- 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
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.
- Create a Renderer Element with multiple material items as above.
- 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"
- Now you can use the following code to change which item is displayed in the Renderer Element:
StimulusIndex=2;
- 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";