Contents

The Script Editor is a simple text editor that permits you to write Lua scripts and GLSL code. To open the Script Editor, click on the Virtalis button at the top-left of the Toolbar and select Windows > Script Editor. Alternatively, click and hold left mouse button over the Windows menu of the Toolbar and select Script Editor. It can also be shown or hidden with Ctrl + L.

Visionary Render can automatically generate common scripts using Events. To create an Event, right-click on a node in the tree and select Create > Event from the context menu. A default Key Press Event will be added to your scene as in the image below.

Environment Setup

The API functions can be accessed from the following DLLs:

Diagram of VRTree systems and their interactions

Describes the structure and purpose of a metanode

Describes the types of properties that can be added to metanode definitions and how their data is stored

Describes what nodes are and how they relate to Metanodes

Describes how observers are notified of tree changes

Description of scenegraph structure and best practices

Where Visionary Render looks for plugins

Local vs Global

Using Lua to interact with Assembly nodes

Using Lua to intract with Visual nodes

Using Lua to interact with Light nodes

Using Lua to interact with material nodes

Using Lua to interact with LOD and GeoGroup nodes

Using Lua to interact with Sequence nodes

Using Lua to interact with audio nodes

Using Lua to interact with movie nodes

Using Lua to interact with Metadata and Attributes

Using Lua to interact with settings nodes

Using Lua to observe changes to nodes

Demonstrates the implementation of functions required to provide a data importer.

Demonstrates the implementation of functions required to provide a data exporter.

Demonstrates how to insert context menu items and link them to plugin functions.

Demonstrates usage of the FFI to interact with the Visionary Render Lua environment.

Demonstrates implementation of a plugin function that can be registered in the script environment.

Demonstrates registration and usage of a custom node type.

Demonstrates how to receive regular updates every frame.

Demonstrates how to implement observers and discusses the concepts.

Demonstrates how to write information to the application log

Demonstrates presenting messages and questions to the user

Demonstrates progress messages and progress bar percentages.

Application command listing and description

A description of what semantics and hints are and how they can be applied to affect the behaviour of the application

A description of how metanode versioning and migrations work to ensure cross-version compatibility

How to ensure your plugin cleanly unloads and reloads itself within Visionary Render

Using coroutines to handle tasks that span multiple frames

Using ODBC drivers to interact with databases such as MySQL

Using Lua and the Microsoft Component Object Model (COM) to interact with external data sources

Describes the process when a script takes more than 30 seconds to execute.

Specifying plugin initialisation order

A guide to writing shaders that can be applied to materials in your scene.

A guide to writing filters that can be applied to the screen to perform specific rendering effects.

This page lists changes in version 2020.2 affecting user-facing APIs.

This page lists changes in version 2020.1 affecting user-facing APIs. Current C API is now 1.11

This page lists changes in version 2019.3 affecting user-facing APIs. Current C API is now 1.10

This page lists changes in version 2019.2 affecting user-facing APIs. Current C API is now 1.9

This page lists changes in version 2.2.0 affecting user-facing APIs

This page lists changes in version 2.1.0 affecting user-facing APIs

The internal implementation of pivots has been improved, and with this comes some new interfaces to simplify Lua interaction with Assemblies that are affected by a pivot point.

Event handler scripts and the main Scripts console window now execute as coroutines.

New Lua observers and additional callbacks for existing observers.

No Results.

Getting StartedArchitectureBest PracticesHow ToAdvanced TopicsChangelogvrtree_cppCoreForeign Function InterfaceMetanodesMigrationsObserversPropertiesTreeUtilitiesAPI DefinitionsVR ExchangePluginsLua API