Put a gradient on all the particles?
-
so this is my entire code
import QtQuick 2.12 import QtQuick.Particles 2.12 import QtQuick.Controls 2.5 import QtGraphicalEffects 1.0 Rectangle { id: root width: 1280 height: 720 property bool tracer: false property color imageParticleColor1: Qt.rgba(255, 0, 0, 100) property int emitterParticleLife1: 5000 property int emitterParticleEmitRate1: 500 property int emitterParticleAngleVar1: 180 property int emitterParticleMagnitudeVar1: 10 gradient: Gradient { id: bgGradient GradientStop { position: 0.0 color: "#141414" } GradientStop { position: 0.5 color: "#000000" } GradientStop { position: 1.0 color: "#141414" } } ParticleSystem { id: particleSystem1 } ImageParticle { id: particlePainter1 system: particleSystem1 source: "image/particle.png" } Emitter { id: particleEmitter1 anchors.fill: parent lifeSpan: emitterParticleLife1 sizeVariation: 0.01 size: 1 endSize: 0.1 emitRate: emitterParticleEmitRate1 system: particleSystem1 velocity: CumulativeDirection { AngleDirection { angleVariation: emitterParticleAngleVar1 magnitudeVariation: emitterParticleMagnitudeVar1 } } } }
my question is: is it possible to make a gradient that is reflected in each particle?
-
Would this not work?
Rectangle { id: gradientRoot width: 1280 height: 720 OpacityMask { source: mask maskSource: gradientRoot } LinearGradient { id: mask anchors.fill: parent gradient: Gradient { GradientStop { position: 0.2; color: "red"} GradientStop { position: 0.5; color: "white" } } }
make another Rect and set a gradient over it and use OpacityMask?