aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/particles
Commit message (Collapse)AuthorAgeFilesLines
* Extract Particles code to an independent libraryMatthew Vogt2012-04-1663-12562/+0
| | | | | | | | | QtQuick clients that do not use particles features should not have to load these classes. Task-number: QTBUG-25178 Change-Id: Ib15f7655dc4d821595e06f9160d2770375279027 Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
* Create plugins for Particles and Window submodulesMatthew Vogt2012-04-051-5/+5
| | | | | | | | | | | | | | | To prevent errors when QML files import QtQuick.Particles or QtQuick.Window before importing QtQuick itself, create plugins for these submodules that make their import statements independent of the QtQuick import. Remove the automatic re-ordering of the imports list prior to loading to ensure registered name conflicts can be resolved by changing the order of import statements. Task-number: QTBUG-24369 Change-Id: I248625fa30a813dddd2a64feb9a489768931939f Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Fixed crash when using 'var' property in ShaderEffect.Kim Motoyoshi Kalland2012-04-042-283/+152
| | | | | | | | Also made CustomParticle and ShaderEffect share some code. Task-number: QTBUG-23924 Change-Id: I975f71f031b379cf5e29302a9c931e4ead5437ea Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Fix exit crash when running samegame-desktop in qmlscene.Friedemann Kleint2012-03-301-1/+2
| | | | | | Change-Id: Ib4c162a909eb45e99a7e5c31737587720e9e2deb Reviewed-by: Kai Koehne <kai.koehne@nokia.com> Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Fix compilation on QNX.Tobias Koenig2012-03-202-0/+8
| | | | | Change-Id: I5e01cad23066a645c1434ce1463d370733f53e4f Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Clean up dangling pointers in the particle systemGunnar Sletta2012-03-196-1/+38
| | | | | | | | | | | When the scenegraph has been invalidated all node pointers have been deleted. In the image particle case the material is managed by the nodes and must also be reset. Change-Id: I867f0d36a3ea281a58c21f04c937b16b042ef373 Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com> Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Skip warning on perfectly valid usecaseGunnar Sletta2012-03-191-6/+0
| | | | | Change-Id: I83fdd2e7c569ebdfea0d21439b4db6d37c1eafa2 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Remove the usage of deprecated qdoc macros.Casper van Donderen2012-03-133-18/+18
| | | | | | | | | | QDoc now has support for Doxygen style commands for italics, bold and list items. This change applies that change in QDoc to the actual documentation. Task-number: QTBUG-24578 Change-Id: I62d203f21df63a95ee236e578b10418fd9680707 Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
* Use premultiplied format because it's fasterAlan Alpert2012-03-051-1/+1
| | | | | Change-Id: I4d78830d2cf03f2deba70c29c2fc221eeec9d63c Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Merge master <-> api_changesMatthew Vogt2012-03-0558-58/+71
|\ | | | | | | Change-Id: Iad2f07b989b25349fd2d4fff010e24dcd5a1688f
| * Fix particle system on windowsAlan Alpert2012-02-291-0/+4
| | | | | | | | | | | | | | | | To preserve correctness, just use a non-point-sprite performance level on windows until QTBUG-24540 is resolved. Change-Id: I7608fbe21233534fb22c9d352aafae759e68c143 Reviewed-by: Martin Jones <martin.jones@nokia.com>
| * Don't create unnecessary shadow dataAlan Alpert2012-02-281-0/+3
| | | | | | | | | | | | | | | | Shadow data was being made by accident for uninitialized datums, because they had not yet had the ImageParticle set as the datum owner. Change-Id: Ia1d55610d845627cdb9c83bfda1d7ed4c024f703 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
| * Build fix when use '-no-stl' optionYuchen Deng2012-02-246-0/+6
| | | | | | | | | | | | | | | | | | | | | | error C3861: 'toupper': identifier not found error C2065: 'RAND_MAX' : undeclared identifier error C3861: 'rand': identifier not found error C2065: 'RAND_MAX' : undeclared identifier error C3861: 'rand': identifier not found Change-Id: Iaa0daf516c3d9f90d9119f958d79187ee2bb959c Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* | Rename QDeclarative symbols to QQuick and QQmlMatthew Vogt2012-02-2425-69/+70
|/ | | | | | | | | | | | | Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Remove clang warnings in particlesYann Bodson2012-02-102-7/+8
| | | | | Change-Id: I4fb92a76143e5b9b607bbf9461b27ade3776edf0 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Doc fixAlan Alpert2012-02-091-3/+3
| | | | | Change-Id: I94712d5e7ca81618c4c506f5984ff94c46b730dd Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Use QDeclarativePixmap in the Particle SystemAlan Alpert2012-02-094-71/+232
| | | | | | | This allows for source URLs to come from network sources. Change-Id: I416edca010e77e507598eaf4eead4291f044f379 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Add and use new animation backend.Michael Brasser2012-02-072-1/+6
| | | | | | | | | The new backend improves performance, and allows us to create multiple running animation jobs from a single Transition. It is based off of the existing Qt animation framework. Change-Id: Id1d0162f6e5c65bf31267f3f9f2042c354375d57 Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3060-60/+60
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: If39bd256b0fa85eba17ea30f8ab87ea27d758908 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Implement reverse mode for spritesAlan Alpert2012-01-271-6/+12
| | | | | Change-Id: I1e8c124e883b881938fce01aeb67ac369fe0bc28 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Add some internal docs for the particle system and sprite engineAlan Alpert2012-01-231-0/+42
| | | | | | | | They're both large internal structures with extensive logic. Should have at least a basic attempt at documentation (beyond inline comments). Change-Id: I7d48ebf821fa759c11fa35889dbff8971644d23e Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Per-frame Sprites patch threeAlan Alpert2012-01-231-5/+7
| | | | | | | | | interpolation bools work with the new sprite rendering approach. Giant sprite images that get split into multiple rows now work with the new sprite rendering approach (or even at all). Change-Id: I7f3e09684622f523564802c7634361b6fe363676 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Per-frame Sprites patch twoAlan Alpert2012-01-231-1/+1
| | | | | | | | | Implements CPU sprite advancement in SpriteImage, and covers the manual sprite advancement codepath in an autotest. Task-number: QTBUG-22236 Change-Id: I52a8ca3f923e88232238f9e158863b1ba7c0441b Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Per-frame Sprites patch oneAlan Alpert2012-01-235-60/+100
| | | | | | | | | | | | | | | | | | To allow for sprites to be advanced by the rendering framerate, two minor redesigns were needed. A) Sprite texture location is now calculated on the CPU and passed to the GPU per frame. B) Stochastic State engine now supports states that do not advance on a timer, and states can be advanced manually. This patch implements B and A for ImageParticle. A for SpriteImage will be done in a separate patch. Task-number: QTBUG-22236 Change-Id: If1c54a6a03fa48b95bb1e672283292859656457b Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Update obsolete contact address.Jason McDonald2012-01-2360-60/+60
| | | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I6a730abc0c396fb545a48b2d6938abedac2e3f1c Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Connection was accidentally of the Queued varietyAlan Alpert2012-01-171-1/+1
| | | | | | | | | | | This connection needs to be direct, because right after that signal is emitted the next frame is drawn (before we return to the event loop at least). The sprite updating needs to happen in time for the frame or the sprites get confused. Task-number: QTBUG-23407 Change-Id: Ie56465145461486456462154dfafe546fedaaaaa Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Update copyright year in Nokia copyright headers.Jason McDonald2012-01-172-2/+2
| | | | | | | | Update copyright headers from before 2011, and a couple of new ones that were merged after the previous change to copyright headers. Change-Id: Ia76e08e2734afa4ef3f1207dbcda5ff3bc81b366 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Test more of QQuickImageParticleAlan Alpert2012-01-162-4/+3
| | | | | | | | | | | | | Now the color variance properties are tested, as is the debug code. Just running the debugging code is valid testing, as it contains pointer derefernces that could cause runtime errors, and this codepath is not always enabled at runtime. Additionally, debug mode control has been consolidated in the ParticleSystem. However, this was not necessary for this test addition. Change-Id: Ie56465145461486456462154dfafe546fedabcba Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Fix QQuickItemParticle timing issuesAlan Alpert2012-01-092-11/+18
| | | | | | | | | | | It was possible for m_loadables to be reset before the items were loaded, and the datum pointer was lost. This was exacerbated by another bug where reset was called every frame for no reason. Both bugs are now fixed. Task-number: QTBUG-23491 Change-Id: I9b60858621b697fc46de1e964cb27ddc0d2dbc65 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-0558-58/+58
| | | | | Change-Id: I0a8d99909cac867dce72da70b1bbcb649989a51b Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Initialize AnimIdxAlan Alpert2012-01-041-0/+2
| | | | | | | | Otherwise any attempted reads later will get a stale value from a previous particle (only happens with custom affectors though) Change-Id: Iab3c7736d5c01218174ef8b331057df57b591209 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Initialize more variablesAlan Alpert2011-12-221-1/+3
| | | | | Change-Id: I22f98c1562887769bc0f262120bd524f6f3b64df Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Clear pending commits on resetAlan Alpert2011-12-223-2/+5
| | | | | | | They will be caught when the nodes are rebuilt, if they're still valid. Change-Id: Iac6e790b604a7deaba98a50dd07754459e9f5e14 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Fix affector group cachingAlan Alpert2011-12-202-2/+5
| | | | | | | | It was possible for the cache to be updated before groups were properly assigned, and it didn't update when they were. Change-Id: If6835e2aad4a2412d17eb727da5d2414e4c20d60 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Fix sprite-less sprite modeAlan Alpert2011-12-163-28/+37
| | | | | | | | | | | Sprite performance mode is supposed to work even without sprites, mostly for testing purposes. Also renamed the testing variable from bloat to bypassOptimizations, and removed it from the QML API (although it previously was hidden). Change-Id: I436554d4ee2ed3a1770839b28aba8d8ef843469a Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Add some more particles debugging informationAlan Alpert2011-12-161-0/+8
| | | | | | | | Output registrations to help make system ownership clear. Only if debug output flag set. Change-Id: I75370eff1140e54aa5c23cc820342c89ef3af282 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Initialize VariableAlan Alpert2011-12-141-0/+1
| | | | | Change-Id: I9870ca9784896fb780dc0474f6fa603f316d59d4 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Restrict particles to eight attributes maxAlan Alpert2011-12-061-32/+33
| | | | | Change-Id: Ie42621ffc3601d730407e5d6eb88db5d93b415ff Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
* Make particle shader more portableAlan Alpert2011-12-051-100/+88
| | | | | | Change-Id: I699712f94ecb4d510d02919c1dcf69828c42a316 Reviewed-by: Glenn Watson <glenn.watson@nokia.com> Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Say hello to QtQuick moduleKent Hansen2011-12-0263-0/+12359
This change moves the QtQuick 2 types and C++ API (including SceneGraph) to a new module (AKA library), QtQuick. 99% of this change is moving files from src/declarative to src/quick, and from tests/auto/declarative to tests/auto/qtquick2. The loading of QtQuick 2 ("import QtQuick 2.0") is now delegated to a plugin, src/imports/qtquick2, just like it's done for QtQuick 1. All tools, examples, and tests that use QtQuick C++ API have gotten "QT += quick" or "QT += quick-private" added to their .pro file. A few additional internal QtDeclarative classes had to be exported (via Q_DECLARATIVE_PRIVATE_EXPORT) since they're needed by the QtQuick 2 implementation. The old header locations (e.g. QtDeclarative/qquickitem.h) will still be supported for some time, but will produce compile-time warnings. (To avoid the QtQuick implementation using the compatibility headers (since QtDeclarative's includepath comes first), a few include statements were modified, e.g. from "#include <qsgnode.h>" to "#include <QtQuick/qsgnode.h>".) There's a change in qtbase that automatically adds QtQuick to the module list if QtDeclarative is used. Together with the compatibility headers, this should help reduce the migration pain for existing projects. In theory, simply getting an existing QtDeclarative-based project to compile and link shouldn't require any changes for now -- but porting to the new scheme is of course recommended, and will eventually become mandatory. Task-number: QTBUG-22889 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Change-Id: Ia52be9373172ba2f37e7623231ecb060316c96a7 Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>