Kurven-Skript

Curve Script

Mit der Komponente Kurven-Skript kannst du ein benutzerdefiniertes Programm in einer Computersprache (ein "Skript") angeben, das eine Kurve auf der Grundlage von benutzerdefinierten Eingaben erzeugt, die vom Skript abgefragt werden. Im Wesentlichen ermöglicht es dir, deine eigenen Kurven-Komponenten mit benutzerdefinierten Eingaben und interner Logik zu programmieren. Kurven-Skript ist eine Kurven-Komponente, die du in der Kategorie Erweitert in der Komponentenleiste finden kannst. Du kannst auch Abbildungs-Skripte schreiben, die Bilder generieren und verarbeiten – Details dazu findest du unter: Abbildungs-Skript-Komponente.

Skripte in Filter Forge sind in Lua geschrieben. Die Filter Forge-Hilfe enthält keine Informationen über die Lua-Sprache selbst – bitte lese das Lua-Online-Handbuch unter http://www.lua.org/manual/5.3/.

Anfängertutorials zur Skripterstellung findest du unter: Erste Schritte mit Skripting. Informationen darüber, welche Funktionen und Variablen für Skripte zur Verfügung stehen, findest du unter: Skripting API.

Eingabe-Tab

Inputs TabInputs Tab

Der Eingabe-Tab zeigt die Eingaben der aktuell ausgewählten Kurven-Skript-Komponente an und ermöglicht es dir, diese zu konfigurieren – du kannst neue Eingaben hinzufügen, vorhandene umbenennen oder löschen, ihre Sortierreihenfolge und andere Eigenschaften mit dem Eingabe-Editor ändern. Die Werte dieser vom Benutzer hinzugefügten Eingaben können vom Skript abgefragt werden - Einzelheiten dazu findest du unter: Eingaben aus Skripten referenzieren.

Skript-Tab

Script TabScript Tab

Der Skript-Tab enthält die folgenden Elemente:

Skriptfehler werden im Meldungsprotokoll angezeigt, das beim Auftreten eines Skriptfehlers eingeblendet wird. Du kannst die Komponente und die Skriptzeile, in der der Fehler aufgetreten ist, schnell ausfindig machen, indem du auf die Fehlermeldung doppelklickst. Um dir die Fehlersuche zu erleichtern, werden die Zeile und Spalte unter dem Cursor im Zeilen-/Spaltenindikator unten angezeigt.

Schreiben von Kurven-Skripten

Um erfolgreich ausgeführt werden zu können, muss eine Kurven-Skript-Komponente die folgenden Funktionen implementieren:

prepare()

Diese Funktion wird einmal pro Rendering-Sitzung aufgerufen, unmittelbar bevor die Rendering-Sitzung beginnt. Sie ermöglicht es dir, Vorberechnungen durchzuführen, die in get_sample(), das mindestens einmal pro Pixel aufgerufen wird, zu umfangreich wären. Die Funktion nimmt keine Argumente entgegen und gibt keine Werte zurück. Obwohl diese Funktion von Filter Forge benötigt wird, kannst du ihre Implementierung leer lassen, damit sie nichts tut.

Wenn du Vorberechnungen durchführst oder Eingaben innerhalb der Funktion prepare() abfragst, stelle sicher, dass du die Ergebnisse in Variablen und Tabellen speicherst, die nicht als lokal deklariert sind, da du sonst nicht in der Lage bist, mit der unten beschriebenen Funktion get_sample() des Skripts auf die Werte zuzugreifen.

Einige der Eingaben, wie z. B. Checkbox oder Int-Schieberegler, müssen nur über die Funktion prepare() abgefragt werden, sie können nicht über get_sample() abgefragt werden. Eine vollständige Liste der Eingaben, die von prepare() abgefragt werden müssen, findest du unter: Eingaben aus Skripten referenzieren.

v, aazone = get_sample(x, y, t)

Diese Funktion stellt den Code für die Kurvenerzeugung bereit. Die Funktion get_sample() wird von Filter Forge immer dann aufgerufen, wenn eine "vorgelagerte" Komponente (sprich die Komponente, mit der die aktuelle Kurven-Skript-Komponente verbunden ist) ein Sample anfordert. Weitere Informationen findest du unter: Die Sample-basierte Architektur von Filter Forge.

Eingaben aus dem Skript referenzieren

Filter Forge-Skripte können Eingaben abfragen, die vom Benutzer über das Dialogfeld Eingabe-Editor hinzugefügt wurden. Nicht zugeordnete Eingaben wie Checkboxen oder Int-Schieberegler müssen mit der Funktion prepare() des Skripts abgefragt werden, während zugeordnete Eingaben wie Farb-Abbildung, Graustufen-Abbildung und Kurve mit der Funktion get_sample() des Skripts gesampelt werden müssen. Details findest du unter: Eingaben aus Skripten referenzieren.

Skripteinstellungen

Im Dialogfeld Skripteinstellungen (erreichbar über die Schaltfläche unterhalb des Skriptbearbeitungsbereichs auf dem Skript-Tab) kannst du Markierungen und andere Einstellungen für die aktuell ausgewählte Skript-Komponente ändern. Skripteinstellungen werden pro Komponente gespeichert, nicht global für alle Skript-Komponenten - ein Filter kann zwei Komponenten haben, von denen eine unsicher und die andere sicher ist.

Du benötigst diese Einstellungen, wenn du ein unsicheres Skript erstellst, sprich ein Skript ohne Sandbox, das auf alle Lua-Funktionen zugreifen kann, oder ein Skript, das die globalen Variablen von Filter Forge verwendet, wie z. B. Variation oder Größe (siehe Skripting API für weitere Einzelheiten.) Einige der Variablen stehen dem Skript nur zur Verfügung, wenn ein entsprechendes Flag aktiviert ist.

Beachte, dass einige der Optionen im Dialogfeld Skripteinstellungen für Kurven-Skripte deaktiviert sind. Einzelheiten findest du unter: Skripteinstellungen.

Urheberrecht © 2006-2022 Filter Forge, Inc. Alle Rechte vorbehalten.