From 5cc0a29582fc69e9b748fd697a9a2dec3e64148c Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Tue, 30 Aug 2011 14:35:09 +1000 Subject: Custom Particle now supplies default code Attributes and a sample function are now prepended to the vertex shader, allowing many to become simple again. Change-Id: Ie1fbc864bd0d58647cb67994b96c2cb88db92f10 Reviewed-on: http://codereview.qt.nokia.com/3839 Reviewed-by: Qt Sanity Bot Reviewed-by: Glenn Watson Reviewed-by: Alan Alpert --- .../declarative/particles/custom/blurparticles.qml | 29 +--------------------- 1 file changed, 1 insertion(+), 28 deletions(-) (limited to 'examples/declarative/particles/custom/blurparticles.qml') 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.)); -- cgit v1.2.3