Benutzerdefinierter Material-Editor

Das Material-Editor-Werkzeug

Der Material-Editor ist ein GUI-Tool, das die Erstellung von CustomMaterials für QtQuick3D vereinfacht. Es bietet eine Echtzeit-Vorschau des Materials, Syntax-Hervorhebung, Fehlerberichte und die Möglichkeit, das Material in eine CustomMaterial QML-Komponente zu exportieren.

Verwendung

Der Material-Editor kann durch Ausführen des Befehls gestartet werden:

$(QTDIR)/bin/materialeditor[.exe]

Das Materialeditor-Fenster besteht aus zwei Hauptkomponenten: dem Editor auf der linken Seite und der Vorschau auf der rechten Seite.

Shader-Bearbeitung

In der Editoransicht gibt es zwei Editoren, einen für den Vertex-Shader und einen für den Fragment-Shader. Wenn Sie die Shader-Snippets bearbeiten, wird das Ergebnis der Änderungen sofort in der Vorschau sichtbar. Wenn das Material nicht zusammengesetzt werden konnte, wird im Ausgabefenster eine Meldung angezeigt, die das Problem beschreibt.

Die Sprache, die zum Schreiben der CustomMaterial Shader-Snippets verwendet wird, ist GLSL im Vulkan-Stil mit einigen zusätzlichen Schlüsselwörtern, die spezifisch für QtQuick3D sind, diese sind leicht erkennbar, da sie in Großbuchstaben geschrieben sind. Die QtQuick3D spezifischen Schlüsselwörter werden auch vom Editor hervorgehoben.

Einen detaillierteren Überblick über die in Shader-Snippets verwendete Sprache und deren Zusammenspiel mit der restlichen Rendering-Pipeline finden Sie in der Dokumentation zu programmierbaren Materialien.

Materialeigenschaften

Der Abschnitt Materialeigenschaften enthält die allgemeinen QML-Eigenschaften für das Material. Diese Eigenschaften und wie sie sich auf das Material auswirken, werden in der Dokumentation CustomMaterial ausführlicher beschrieben.

Vorschau

Das Vorschaufenster zeigt nicht nur an, wie das aktuelle Material gerendert wird, sondern enthält auch eine Reihe von Steuerelementen, die angepasst werden können, um zu sehen, wie das Material unter verschiedenen Bedingungen aussieht. Mit diesen Steuerelementen kann der Benutzer Folgendes tun: Auswahl eines anderen Modells, Umschalten der bildbasierten Beleuchtung, Ein- und Ausschalten des Szenenlichts und Einstellen der Drehung der Umgebung. Es ist auch möglich, das Modell mit der Maus zu umkreisen.

Uniformen

In der Uniformtabelle werden die von den Shadern verwendeten Uniformen aufgelistet. Uniformen können jederzeit hinzugefügt, entfernt oder geändert werden, aber alle Uniformen, die von den Shader-Snippets verwendet werden, müssen der Uniformtabelle hinzugefügt werden. Sobald eine Uniform hinzugefügt ist, wird sie für beide Shader zugänglich. Wenn Sie das Material in eine QML-Komponente exportieren, werden die Uniformen zu Eigenschaften der Materialkomponente.

Ausgabe-Panel

Das Ausgabepanel zeigt Diagnosemeldungen an, z. B. zu Fehlern, die in den Shader-Snippets gefunden wurden.

Shader importieren

Shader-Snippets können in die Anwendung importiert werden. Diese haben die Dateierweiterung .vert und .frag und sollten Klartext enthalten. Importierte Shader-Snippets müssen natürlich manuell angepasst werden, wenn der Shader-Code nicht in einer Sprache oder in einer Form vorliegt, die bereits mit CustomMaterial kompatibel ist (das Tool versucht nicht, ihn zu übersetzen).

Speichern und Laden von Projekten.

Der Material Editor kann Projektdateien in seinem eigenen Projektformat speichern oder laden. Die Erweiterung der Material-Editor-Projektdateien ist .qmp.

Hinweis: Das Projektdateiformat des Materialeditors ist nicht für die Verwendung zur Laufzeit gedacht, sondern nur für die Verwendung mit dem Materialeditor.

Exportieren.

Damit das Material von einer Anwendung aus verwendet werden kann, muss es als QML-Komponente exportiert werden; dies kann durch Öffnen des Exportdialogs aus dem Anwendungsmenü erfolgen. Der Exportdialog fragt nach einem Ausgabeordner, dem Namen der Materialkomponente und dem/den Namen der Shader-Snippets. Wenn das Material erfolgreich exportiert wurde, enthält der Ausgabeordner eine QML-Komponente, die das Material zusammen mit allen für das Material benötigten Shader-Snippets und Texturen beschreibt.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.