diff options
Diffstat (limited to 'examples')
6 files changed, 11 insertions, 89 deletions
diff --git a/examples/declarative/particles/allsmiles/smile.qml b/examples/declarative/particles/allsmiles/smile.qml index 3eb57617ec..bfce60cc4a 100644 --- a/examples/declarative/particles/allsmiles/smile.qml +++ b/examples/declarative/particles/allsmiles/smile.qml @@ -70,47 +70,17 @@ Rectangle{ source: "content/particle.png" } 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 float maxWidth; uniform highp float maxHeight; - - uniform highp mat4 qt_Matrix; - uniform highp float timestamp; - uniform lowp float qt_Opacity; - - varying highp vec2 fTex; - varying highp vec2 fTex2; + varying highp vec2 fTex2; varying lowp float fFade; + uniform lowp float qt_Opacity; void main() { - fTex = vTex; fTex2 = vec2(vPos.x / maxWidth, vPos.y / maxHeight); - highp float size = vData.z; - highp float endSize = vData.w; - 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.)); - - fFade = fadeIn * fadeOut * qt_Opacity; + fFade = min(t*4., (1.-t*t)*.75) * qt_Opacity; + defaultMain(); } " property variant particleTexture: particleSource @@ -120,7 +90,7 @@ Rectangle{ uniform sampler2D pictureTexture; varying highp vec2 fTex; varying highp vec2 fTex2; - varying highp float fFade; + varying lowp float fFade; void main() { gl_FragColor = texture2D(pictureTexture, fTex2) * texture2D(particleTexture, fTex).w * fFade; }" diff --git a/examples/declarative/particles/asteroid/blackhole.qml b/examples/declarative/particles/asteroid/blackhole.qml index 4a7ce02538..441f4c38d6 100644 --- a/examples/declarative/particles/asteroid/blackhole.qml +++ b/examples/declarative/particles/asteroid/blackhole.qml @@ -149,7 +149,7 @@ Rectangle{ id: gs; x: root.width/2; y: root.height/2; strength: 4000000; system: particles physics: PointAttractor.Acceleration - proportionalToDistance: PointAttractor.Quadratic + proportionalToDistance: PointAttractor.InverseQuadratic } Kill{ system: particles 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.)); diff --git a/examples/declarative/particles/custom/custom.qml b/examples/declarative/particles/custom/custom.qml index 9a562af3b6..4b75cf6ebe 100644 --- a/examples/declarative/particles/custom/custom.qml +++ b/examples/declarative/particles/custom/custom.qml @@ -44,18 +44,8 @@ ParticleSystem{ } } CustomParticle{ - //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 - - uniform highp mat4 qt_ModelViewProjectionMatrix; - uniform highp float timestamp; uniform lowp float qt_Opacity; - - varying highp vec2 fTex; varying lowp float fFade; varying highp vec2 fPos; @@ -76,7 +66,7 @@ ParticleSystem{ + vVec.xy * t * vData.y // apply speed vector.. + 0.5 * vVec.zw * pow(t * vData.y, 2.); - gl_Position = qt_ModelViewProjectionMatrix * vec4(pos.x, pos.y, 0, 1); + gl_Position = qt_Matrix * vec4(pos.x, pos.y, 0, 1); highp float fadeIn = min(t * 20., 1.); highp float fadeOut = 1. - max(0., min((t - 0.75) * 4., 1.)); diff --git a/examples/declarative/particles/custom/shader.qml b/examples/declarative/particles/custom/shader.qml index 329eaf226b..6253679cb7 100644 --- a/examples/declarative/particles/custom/shader.qml +++ b/examples/declarative/particles/custom/shader.qml @@ -27,19 +27,8 @@ ParticleSystem{ acceleration: PointDirection{x: -root.width/40; y: -root.height/40; xVariation: -root.width/20; yVariation: -root.width/20} } CustomParticle{ - //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 highp vec2 fPos; diff --git a/examples/declarative/particles/spaceexplorer/spaceexplorer.qml b/examples/declarative/particles/spaceexplorer/spaceexplorer.qml index 1bb3cdae02..727d711053 100644 --- a/examples/declarative/particles/spaceexplorer/spaceexplorer.qml +++ b/examples/declarative/particles/spaceexplorer/spaceexplorer.qml @@ -276,7 +276,7 @@ Rectangle{ } PointAttractor{ id: gs1; x: vorteX; y: vorteY; strength: 800000; - proportionalToDistance: PointAttractor.Quadratic; + proportionalToDistance: PointAttractor.InverseQuadratic; system: foreground } Kill{ @@ -289,7 +289,7 @@ Rectangle{ PointAttractor{ id: gs2; x: vorteX2; y: vorteY2; strength: 800000; - proportionalToDistance: PointAttractor.Quadratic; + proportionalToDistance: PointAttractor.InverseQuadratic; system: foreground } Kill{ @@ -302,7 +302,7 @@ Rectangle{ PointAttractor{ id: gs3; x: vorteX3; y: vorteY3; strength: 800000; - proportionalToDistance: PointAttractor.Quadratic; + proportionalToDistance: PointAttractor.InverseQuadratic; system: foreground } Kill{ |