aboutsummaryrefslogtreecommitdiffstats
path: root/examples/declarative/particles/custom/blurparticles.qml
diff options
context:
space:
mode:
Diffstat (limited to 'examples/declarative/particles/custom/blurparticles.qml')
-rw-r--r--examples/declarative/particles/custom/blurparticles.qml29
1 files changed, 1 insertions, 28 deletions
diff --git a/examples/declarative/particles/custom/blurparticles.qml b/examples/declarative/particles/custom/blurparticles.qml
index 7974c6ab7c..238608c002 100644
--- a/examples/declarative/particles/custom/blurparticles.qml
+++ b/examples/declarative/particles/custom/blurparticles.qml
@@ -68,41 +68,14 @@ Rectangle{
CustomParticle{
system: sys
- //TODO: Someway that you don't have to rewrite the basics for a simple addition
vertexShader:"
- attribute highp vec2 vPos;
- attribute highp vec2 vTex;
- attribute highp vec4 vData; // x = time, y = lifeSpan, z = size, w = endSize
- attribute highp vec4 vVec; // x,y = constant speed, z,w = acceleration
- attribute highp float r;
-
- uniform highp mat4 qt_Matrix;
- uniform highp float timestamp;
uniform lowp float qt_Opacity;
-
- varying highp vec2 fTex;
varying lowp float fFade;
varying lowp float fBlur;
void main() {
- fTex = vTex;
- highp float size = vData.z;
- highp float endSize = vData.w;
-
+ defaultMain();
highp float t = (timestamp - vData.x) / vData.y;
-
- highp float currentSize = mix(size, endSize, t * t);
-
- if (t < 0. || t > 1.)
- currentSize = 0.;
-
- highp vec2 pos = vPos
- - currentSize / 2. + currentSize * vTex // adjust size
- + vVec.xy * t * vData.y // apply speed vector..
- + 0.5 * vVec.zw * pow(t * vData.y, 2.);
-
- gl_Position = qt_Matrix * vec4(pos.x, pos.y, 0, 1);
-
highp float fadeIn = min(t * 10., 1.);
highp float fadeOut = 1. - max(0., min((t - 0.75) * 4., 1.));