Portar efectos de Shadertoy a Qt Quick Effect Maker
Puede utilizar efectos creados en Shadertoy en Qt Quick Effect Maker. Cuando utilices efectos de Shadertoy, ten en cuenta lo siguiente:
- Qt Quick Effect Maker no soporta las siguientes características de Shadertoy:
- Efectos multipase (pestañas Buffer)
- Audio
- Mapas cúbicos
- Texturas 3D
- Shadertoy sólo soporta fragment shaders y texturas incorporadas. Para mejorar el rendimiento del efecto en Qt Quick Effect Maker, traslada algunos cálculos al sombreador de vértices y utiliza imágenes personalizadas para simplificar el código del sombreador.
- El sistema de coordenadas difiere entre Shadertoy y Qt Quick Effect Maker. En Shadertoy, el origen (0,0) está situado en la esquina inferior izquierda, mientras que Qt Quick Effect Maker tiene el origen en la esquina superior izquierda.
Utilizar un efecto Shadertoy en Qt Quick Effect Maker
Para utilizar un efecto Shadertoy en Qt Quick Effect Maker:
- En Qt Quick Effect Maker, cree un nuevo efecto.
- En el editor de nodos, seleccione Add node y luego, bajo Common, seleccione Custom. Esto crea un nodo vacío.

- En Shadertoy, copia todo el código de la pestaña Image.
- En Qt Quick Effect Maker, haz doble clic en el nodo Custom en el editor de nodos. Esto abre el editor de código.
- Pega el código de Shadertoy en la pestaña Frag.
- Encuentra la función
Mainen el código, se ve algo como:void mainImage( out vec4 fragColor, in vec2 fragCoord )
- Reemplaza esta línea por:
@main
Nota: No puedes tener
@mainy el siguiente { en la misma línea. - Opcional. Si el efecto depende del sistema de coordenadas, aparece invertido. Para solucionarlo, tienes que invertir la coordenada y:
- Vaya a la pestaña Vert.

- En el menú desplegable, selecciona Main.
- Busque la línea
fragCoord, debería tener un aspecto similar:fragCoord = qt_Vertex.xy;
- Sustituye esta línea por:
fragCoord = vec2(qt_Vertex.x, iResolution.y - qt_Vertex.y);
- Del mismo modo, es posible que tenga que ajustar
texCoordyiMouse.
- Vaya a la pestaña Vert.
Ahora, el efecto se ejecuta y tiene el mismo aspecto que el efecto Shadertoy.
© 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.