summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine
Commit message (Collapse)AuthorAgeFilesLines
* Fix shadows when viewing directly from above.Miikka Heikkinen2014-10-211-8/+21
| | | | | | | | | | | Fudge the camera y-angle so that it's never looking directly from above or below. The actual problem is that eye vector is paraller to up vector if viewing directly from above, which results in invalid view matrix. Task-number: QTRD-2789 Change-Id: Ia79b8bb4b8317c6aaf6ac4c70a6bb70c24b5309e Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Document the issue with large surfaces and static scatters.Miikka Heikkinen2014-10-201-4/+13
| | | | | | | | | | OpenGL ES2 and/or 32bit environments can have relatively low maximum supported vertex counts per draw call, so large surfaces and static scatters may not get rendered. Task-number: QTRD-3364 Change-Id: I7fd024b0428548ac7e2ca043a06d01d2442dd226 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Fix scatter item autosizing.Miikka Heikkinen2014-10-151-8/+10
| | | | | | | | Autosizing only accounted for freshly changed series when calculating the total item count visible in the graph. Change-Id: I7c0990123d3e3827c3518713f5389fedf91aca92 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Fix the bug introduced in previous fix.Miikka Heikkinen2014-10-151-1/+3
| | | | | | | | It's not enough to just clear the label items upon axis cache destruction, they need to be deleted, too. Change-Id: I63bdd01f9b328491107292f42cca6aa2ba7b4434 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Small cleanups for surfaceMika Salmela2014-10-151-13/+6
| | | | | | | | | Unnecessary modelMatrix multiplications removed. Intentional whitespace removal. Change-Id: I78b8e6f984d44baf7015c9551701b04cb869fc8b Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
* Simplify context handling at cleanup.Miikka Heikkinen2014-10-154-17/+18
| | | | | | | | | | | | | If the context exists at renderer deletion, it is possible that it no longer has valid surface, which means it won't be possible to set it back to current if we change context for deletion cleanup. Since the current context will be one of our shared contexts anyway, there is no need to do a dummy context for cleanup unless the current context is null. Change-Id: Ibabe081742beb975ee848ccb3690703ef5b027a9 Reviewed-by: Mika Salmela <mika.salmela@digia.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Reset camera target when setting a presetMiikka Heikkinen2014-10-131-0/+5
| | | | | Change-Id: I3a1595530a976b73144109cf2eef72a188831a10 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Fix context cleanupMiikka Heikkinen2014-10-137-18/+74
| | | | | | | | | | Context was not getting properly cleaned up in cases where render thread stopped before the cleanup took place. Now we ensure that required cleanup is done before context thread terminates. Change-Id: I1489914dafec928eebb69bac737f6f858ff49432 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Remove separate depth texture for surface shadowsMika Salmela2014-10-132-44/+6
| | | | | | | | | | Use the same depth texture for the backwall and the surfaces. No need to any culled texture. Task-number: QTRD-3160 Change-Id: I7a4e8aa61b98d5264a92173174e911e50af8d52a Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Added doc about reflections and stencil buffer Tomi Korpipää2014-10-091-0/+3
| | | | | | Change-Id: I939d02433291b00a529598718b6390d7246f89f9 Change-Id: I939d02433291b00a529598718b6390d7246f89f9 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fixed recurring GL_INVALID_VALUE OpenGL errors Tomi Korpipää2014-10-091-8/+14
| | | | | | | | | Now that these are not generated all the time, makes it easier to use glGetError to find actual errors. Change-Id: I4e10f5798e4e79466a47a0d671c04b445899c62c Change-Id: I4e10f5798e4e79466a47a0d671c04b445899c62c Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fix screen position based queries in threaded rendering environmentMiikka Heikkinen2014-10-097-21/+46
| | | | | | | | | | | | | | | | QtQuick's threaded renderer doesn't seem to always pair up sync and render (or more accurately, beforeSynchronizing and node's preprocess calls). Sometimes sync comes without a followup render, or there are two syncs in a row, even though the sync is using direct connection. Both of these cases broke the old logic for handling position based queries. Changed the logic to actually ensure we have resolved the query before emitting the relevant signal. Task-number: QTRD-3358 Change-Id: Ica6c8c311f53a06311c21532aaabc18c28556655 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Fixed selecting through the floor bugTomi Korpipää2014-10-082-37/+44
| | | | | | Task-number: QTRD-3359 Change-Id: I418aaef640c05f7af7b860c89f5a5231e3f14c16 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Grid line color bug in surface fixed Tomi Korpipää2014-10-081-2/+2
| | | | | | | Task-number: QTRD-3361 Change-Id: Id40db146efb84f6a9b642e7e0678d6b656cdbd19 Change-Id: Id40db146efb84f6a9b642e7e0678d6b656cdbd19 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Polar coordinates angle grid lines fixes Tomi Korpipää2014-10-081-0/+4
| | | | | | | Task-number: QTRD-3360 Change-Id: I33177ccfe93136e6ce048fad0dbed70fe560b204 Change-Id: I33177ccfe93136e6ce048fad0dbed70fe560b204 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fixed shadow issue with reflections and no background Tomi Korpipää2014-10-071-2/+3
| | | | | | | Task-number: QTRD-3357 Change-Id: I7ae4460a0666316a6f455f8842d7453513f55705 Change-Id: I7ae4460a0666316a6f455f8842d7453513f55705 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fix crash when removing and changing items for same frameMiikka Heikkinen2014-10-061-0/+2
| | | | | Change-Id: I4fadd0cc741bf2b633d248b304c45b109a40eedc Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Fix static optimization errorsMiikka Heikkinen2014-10-031-1/+2
| | | | | | | | | | - Buffer ids were not cleared appropriately - Update didn't account for items outside axis ranges - In some cases wrong shader was used for point series Task-number: QTRD-3353 Change-Id: Iea465d99eb557402feb5fb017ae92393ee8f377f Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Fix changing items in static optimization modeMiikka Heikkinen2014-10-034-22/+77
| | | | | | Task-number: QTRD-3344 Change-Id: I8c1d2e2ae4afd6f9058c59adfc3d784b5f724358 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Fixed ordering of subviewsTomi Korpipää2014-10-022-13/+29
| | | | | | Task-number: QTRD-2790 Change-Id: I8ac6ce89920a9c988c7a059e1b02c980a0264200 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fix selection color and gradient for static optimizationMiikka Heikkinen2014-10-014-25/+111
| | | | | | | | | | Added separate shaders for rendering selected items, as the texture mapping that the regular static optimization shaders expect is not correct for single objects. Task-number: QTRD-3306 Change-Id: I6eb6cef94a4d2b4e5bdd03748f18db641a9fc4f6 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Make background margin configurableMiikka Heikkinen2014-09-3012-38/+245
| | | | | | | | | | | Added margin as abstract graph property. If the margin is narrow, the positions of theedge labels of the axes are adjusted to avoid overlap with edge labels on other axes. Task-number: QTRD-3204 Change-Id: I7fa5a04c8f2091519d99689ef2f6cbcf799fb15e Reviewed-by: Mika Salmela <mika.salmela@digia.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Add C++ API for getting the custom item list from graph.Miikka Heikkinen2014-09-294-1/+18
| | | | | | | | QML already had this. Task-number: QTRD-3173 Change-Id: Ib4203eef7a0bc477ddc79467c91b22f95d573154 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Make various selection queries thread safeMiikka Heikkinen2014-09-292-10/+17
| | | | | | Task-number: QTRD-3333 Change-Id: I09cb9a119a3490de008feb97cbb6f0c623238927 Reviewed-by: Mika Salmela <mika.salmela@digia.com>
* Allow setting bounds for camera zoom levelMiikka Heikkinen2014-09-263-17/+125
| | | | | | Task-number: QTRD-3337 Change-Id: I503dc4402907a2fdfa74ca86698b0e98a23b3b08 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Fix absolutely scaled volumesMiikka Heikkinen2014-09-261-2/+3
| | | | | | | Min/max bounds were set incorrectly. Change-Id: I54e115ef98321531410bcb64146ae32230375d4e Reviewed-by: Mika Salmela <mika.salmela@digia.com>
* Implement zooming to cursorMiikka Heikkinen2014-09-2615-35/+310
| | | | | | | | | Zooming to cursor is now default operating mode of the default input handler. Task-number: QTRD-3263 Change-Id: I5699fc0ce7393059538972cd52f31f06d87e3d8d Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Allow setting the floor level on bar graphs.Miikka Heikkinen2014-09-226-18/+83
| | | | | | Task-number: QTRD-3313 Change-Id: Ie0f8e36af8698081a6937c360043773da895b6e6 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Change custom labels to use label shaderMiikka Heikkinen2014-09-198-47/+21
| | | | | | | | | This fixes the problem with specular highlight making camera-facing labels unreadable. Task-number: QTRD-3276 Change-Id: If16424b07a1f3362428980353c5fb5213c33d06b Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Added possibility to change graph's localeMiikka Heikkinen2014-09-195-0/+62
| | | | | | | | | | Locale affects how axis labels are formatted. Default locale is still the "C". Task-number: QTRD-3229 Change-Id: I6126ce676906f4bbc91ae0abd18775bc1d564118 Reviewed-by: Mika Salmela <mika.salmela@digia.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Full update for static buffers when data updatedMika Salmela2014-09-173-1/+12
| | | | | | | Task-number: QTRD-3322 Change-Id: I6ac9e0506ed7355e06d2174d8f8f551cb82b8a86 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fixed custom item wrong side reflectionTomi Korpipää2014-09-172-2/+8
| | | | | | | Task-number: QTRD-3311 Change-Id: Ia5aea90259c249a5ffd48e16fae4e2dc33902afd Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fix volume frame translation for rotated volumesMiikka Heikkinen2014-09-171-1/+1
| | | | | | Task-number: QTRD-3323 Change-Id: I08823f257a1a273da97a9e9e8597e4ffdb87d93b Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Fix to slice crash bug fixTomi Korpipää2014-09-163-9/+16
| | | | | | | Task-number: QTRD-3301 Change-Id: Ia0ae6d5e3ac9aabc9af9199df27bbbe7f7908d60 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Prevent selection label generation on rotateTomi Korpipää2014-09-162-5/+7
| | | | | | | | | | Task-number: QTRD-3234 Selection pointer label needs to be regenrated only when either theme or label text changes. Change-Id: Iabe91a88b719b186c998cda9e712207752762279 Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
* Invalid slice usage crash fixedTomi Korpipää2014-09-163-2/+23
| | | | | | | | Task-number: QTRD-3301 Change-Id: I0e39348a2e9392b4c1f0bd7ef26c5613272460e2 Reviewed-by: Pasi Keränen <pasi.keranen@digia.com> Reviewed-by: Titta Heikkala <titta.heikkala@digia.com>
* Fixed renderToImage for ES2Tomi Korpipää2014-09-151-0/+6
| | | | | | | Task-number: QTRD-3305 Change-Id: I656cc878e6e83fe09d627b418f9cf624672a18b3 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Implement volume slice framesMiikka Heikkinen2014-09-125-23/+190
| | | | | Change-Id: I409f3c95892b26ca6097dd4509109fc9978b9900 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Limit volume to axis rangesMiikka Heikkinen2014-09-1012-147/+336
| | | | | | | | | The volume object that would go partially outside axis ranges is scale and repositioned so that it only renders the portion that is inside the axis ranges. Change-Id: I792494e437998ba6276f58fab645767276c1476d Reviewed-by: Mika Salmela <mika.salmela@digia.com>
* Add possibility to scale custom items according to data rangesMiikka Heikkinen2014-09-082-16/+46
| | | | | | | | Proper behavior of volume objects that are shown only partially will be added in a separate patch later. Change-Id: I1fcd98faa6c4a7d09e3fef1645ed9816ff54654f Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* ES2 gradient support for static optimizationMika Salmela2014-09-045-4/+50
| | | | | Change-Id: I3d5d5d006a26225a3a7ab5795fceb97630db0011 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Remove undeclared identifierMika Salmela2014-09-031-4/+0
| | | | | | Task-number: QTRD-3303 Change-Id: I8f43df8f0d90997c05ffaf93e451a52baacefa63 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Make volume items draw after regular custom itemsMiikka Heikkinen2014-09-031-155/+171
| | | | | | | | | Since volume items typically contain transparencies, make them draw after regular custom items, which are less likely to be transparent. Change-Id: Id7c48b6c77d7ed8654b72923d7dccf4158c9c088 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Add option to use low definition volume shader.Miikka Heikkinen2014-09-028-46/+177
| | | | | | | | Low definition volume shader samples the texture at even intervals, so it will sometimes skip texels, causing flickering. Change-Id: Iee6cb0e8893498b89ce1a40f34701a53d100283e Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Pixel perfect volume shaderMiikka Heikkinen2014-09-013-75/+128
| | | | | | | | | Now the volume should render with pixel perfect accuracy. The drawback is that it is significantly slower than the old approximate solution. Change-Id: I4df7e9a28a27b56150c71a85a4c1fb69a215dabc Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Unified gradient for pointsMika Salmela2014-08-291-3/+4
| | | | | | | | | | Made gradient image same size as the texture and similar calculation for the pixel. Result should be more coherent for all. Task-number: QTRD-3295 Change-Id: I666dacc6f525258ccefda288e26cac480cb385cb Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Range gradient for points on static optimizationMika Salmela2014-08-284-10/+41
| | | | | Change-Id: Ic44a6a28617f272540d146f02bf50b4bd84cd9c8 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* New vertex shaders for previous task.Mika Salmela2014-08-272-0/+62
| | | | | Change-Id: I992da6ca5835ac41b45410d79750e9f33f551793 Reviewed-by: Mika Salmela <mika.salmela@digia.com>
* Diffuse and specular color for static optimizationMika Salmela2014-08-274-31/+33
| | | | | Change-Id: I2c51ba06c6af9193a70f4a268dfd2fbd6c6910b3 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fix build issue with Qt 5.2.1Miikka Heikkinen2014-08-273-5/+5
| | | | | | | | | | | | | | QImage is not a QObject, and therefore QImage::Format doesn't seem to be a supported type for a Q_PROPERTY, either. At least this was the case in Qt 5.2.1. In Qt 5.3.1 this worked. In any case, worked around the issue by removing textureFormat as a property. This shouldn't be an issue, since texture cannot meaningfully be manipulated from QML anyway. Also fixed some compile warnings. Change-Id: I257c1502d3340c49c24085fb8bf2e6176d875215 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>