Shadertoy-Effekte portieren nach Qt Quick Effect Maker
Sie können in Shadertoy erstellte Effekte in „ Qt Quick Effect Maker “ verwenden. Beachten Sie bei der Verwendung von Shadertoy-Effekten Folgendes:
- Qt Quick Effect Maker unterstützt die folgenden Shadertoy-Funktionen nicht:
- Multipass-Effekte (Registerkarten „Buffer“)
- Audio
- Cube-Maps
- 3D-Texturen
- Shadertoy unterstützt nur Fragment-Shader und integrierte Texturen. Um die Leistung der Effekte in Qt Quick Effect Maker zu verbessern, verlagern Sie einige Berechnungen in den Vertex-Shader und verwenden Sie benutzerdefinierte Bilder, um den Shader-Code zu vereinfachen.
- Das Koordinatensystem unterscheidet sich zwischen Shadertoy und Qt Quick Effect Maker. Bei Shadertoy befindet sich der Ursprung (0,0) in der unteren linken Ecke, während bei Qt Quick Effect Maker der Ursprung in der oberen linken Ecke liegt.
Verwendung eines Shadertoy-Effekts in Qt Quick Effect Maker
So verwenden Sie einen Shadertoy-Effekt in „ Qt Quick Effect Maker “:
- Erstellen Sie in „ Qt Quick Effect Maker “ einen neuen Effekt.
- Wählen Sie im Knoten-Editor „ Add node “ aus und wählen Sie anschließend unter „ Common “ die Option „ Custom “ aus. Dadurch wird ein leerer Knoten erstellt.

- Kopieren Sie in Shadertoy den gesamten Code aus der Registerkarte „ Image “.
- Doppelklicken Sie unter „ Qt Quick Effect Maker “ im Knoten-Editor auf den Knoten „ Custom “. Dadurch wird der Code-Editor geöffnet.
- Fügen Sie den Shadertoy-Code in die Registerkarte „ Frag “ ein.
- Suchen Sie im Code nach der Funktion „
Main“; sie sieht in etwa so aus:void mainImage( out vec4 fragColor, in vec2 fragCoord ) - Ersetzen Sie diese Zeile durch:
@mainHinweis: „
@main“ und das darauf folgende „{“dürfen nicht in derselben Zeile stehen. - Optional: Wenn der Effekt vom Koordinatensystem abhängt, wird er auf den Kopf gestellt angezeigt. Um dies zu beheben, müssen Sie die y-Koordinate umkehren:
- Wechseln Sie zur Registerkarte „ Vert “.

- Wählen Sie im Dropdown-Menü „ Main “ aus.
- Suchen Sie die Zeile „
fragCoord“, sie sollte in etwa so aussehen:fragCoord = qt_Vertex.xy; - Ersetzen Sie diese Zeile durch:
fragCoord = vec2(qt_Vertex.x, iResolution.y - qt_Vertex.y); - Ebenso müssen Sie möglicherweise die Einträge „
texCoord“ und „iMouse“ anpassen.
- Wechseln Sie zur Registerkarte „ Vert “.
Nun läuft der Effekt und sieht genauso aus wie der Shadertoy-Effekt.
© 2026 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.