Commit Graph

323 Commits

Author SHA1 Message Date
Tomi Korpipaa 67f96d88bf Disable tst_qmltest on QEMU
QEMU does not have support for createPlatformOpenGLContext,
which is required for the QML applications to work.

Task-number: QTBUG-91381
Change-Id: I1c61146f889a3ffad49157f3c17cff0bcd3a01c9
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2021-02-25 15:19:10 +02:00
Tomi Korpipaa 33d47ef27e Fix failing autotests
QSG_RHI_BACKEND needs to be forced to opengl for the
QML test like in any other QML application.
Model/height proxy tests need a bit more time for the proxy
data to stabilize, so extra QCoreApplication::processEvents()
calls were added to handle that.

Fixes: QTBUG-90710
Pick-to: 6.1
Change-Id: I594040e8d504d680ff1990147835a106cc53d922
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
2021-02-10 12:49:19 +02:00
Tuomo Pelkonen d2c6249bb9 Fix build for Qt 6.1
Task-number: QTBUG-89299
Task-number: QTBUG-90926
Pick-to: 6.1
Change-Id: I49822338f94e2bdcb0ae5b29d2211127e40d58f9
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2021-02-10 12:49:14 +02:00
Tomi Korpipaa 587d44e807 Remove custom namespace
Fixes: QTBUG-90400
Change-Id: Ia2f1974a21112bad97724717d073d367c4413a7f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2021-01-28 12:26:47 +02:00
Tuomo Pelkonen e2e20c9f11 Add CMake build
Task-number: QTBUG-89299
Change-Id: I5becbf39605e566c3d32cb5e210d974df9de27da
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2021-01-27 13:16:44 +02:00
Tuomo Pelkonen 18a562554e Force OpenGL backend for RHI
Set QSG_RHI_BACKEND environment variable to "opengl" to force
RHI to use OpenGL backend.

Change-Id: Ie1fa0ffe466f97b1bbcc5281c49bbdf6e6d053c0
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2021-01-27 10:06:52 +02:00
Tuomo Pelkonen 6c2aec18ed Fix most of the QML example applications
Most of the QML examples work now as supposed to. Qmlbars still needs
fixing and is not included in this patch.

Task-number: QTBUG-89298
Change-Id: Ic8bc6511cdb00dd3db0a181b7a31b3bbc39f0556
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2021-01-27 10:01:58 +02:00
Tomi Korpipaa 471a6cbd07 Migrate C++ API rendering path to Qt 6
Replace QRegExp with QRegularExpression and change usage accordingly.
Replace shared QOpenGLFunctions_2_1 with our own copy. Fix header
include changes.

Task-number: QTBUG-89297
Change-Id: I6d3cf36ba9303ef62db3220816ea35f51eb26a3c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2020-12-14 06:57:52 +02:00
Lars Schmertmann 09e937788d Add ; to Q_UNUSED
This is required to remove the ; from the macro with Qt 6.

Task-number: QTBUG-82978
Change-Id: I66f620431011d02cb1542e8ad613dadd28fdd843
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2020-06-26 15:21:41 +02:00
Jarek Kobus 3c7d4de151 Use QList instead of QVector
Task-number: QTBUG-84469
Change-Id: I4dc064b70adb054ca4add2dd662e7227255ff970
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-25 10:11:51 +02:00
Edward Welbourne e82f57fc52 Convert uses of QTime as a timer to QElapsedTimer
Change-Id: I6050b5269304ac6941d3a9d057c91d439f46b63c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-06-12 18:25:48 +02:00
Friedemann Kleint 7044c0c82c Fix deprecation warnings
utils/utils.cpp:87:43: warning: ‘int QFontMetrics::width(const QString&, int) const’ is deprecated: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations]
utils/utils.cpp:139:58: warning: ‘int QFontMetrics::width(const QString&, int) const’ is deprecated: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations]
engine/axisrendercache.cpp:204:50: warning: ‘int QFontMetrics::width(const QString&, int) const’ is deprecated: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations]
volumetrictest.cpp:384:32: warning: ‘int QImage::byteCount() const’ is deprecated: Use sizeInBytes [-Wdeprecated-declarations]
volumetrictest.cpp:538:32: warning: ‘int QImage::byteCount() const’ is deprecated: Use sizeInBytes [-Wdeprecated-declarations]

Change-Id: I59d0ce39584b11ec239cbdadf067c30cf37ca05a
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-02-11 12:28:44 +00:00
Thiago Macieira 190687f649 Fix build: pow() is in math.h
Change-Id: Icaa86fc7b54d4b368c0efffd14f0b2721e74f854
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2017-11-05 18:45:48 +00:00
Thiago Macieira 6867324cb0 Update to new QRandomGenerator API
Change-Id: I69f37f9304f24709a823fffd14e676c097712329
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2017-11-03 09:12:25 +00:00
Thiago Macieira 0565aadd97 Fix build: this example uses exceptions for some reason
cumulativedistributor.cpp:128:44: error: exception handling disabled, use -fexceptions to enable
     throw std::runtime_error("out of range");

Change-Id: Icaa86fc7b54d4b368c0efffd14f0b2b6258fe6f5
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2017-10-25 15:42:06 +00:00
Sami Nurmenniemi d8c81e5db3 Enable tests for boot2qt
The tests for boot2qt were disabled with commit
0340120d5f. Some of them
can now be enabled since qtdeclarative fallbacks to software
renderer if OpenGL is not supported. Some tests still need
to be skipped if OpenGL is not supported.

Task-number: QTBUG-60268
Change-Id: I8019859bc88497e08599d0b5f4981b9a3ac071f3
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2017-08-11 08:34:35 +00:00
Thiago Macieira 096b9122b9 Use QRandomGenerator instead of q?rand
Change-Id: Icd0e0d4b27cb4e5eb892fffd14b5285d43f4afbf
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-07-04 11:45:30 +00:00
Edward Welbourne af03eef4ab Use qRadiansToDegrees() and qDegreesToRadians() more widely
These document what the arithmetic is actually doing; and save us an
ad-hoc use of an approximate value for pi while we're about it.

Task-number: QTBUG-58083
Change-Id: I82c5502af724b33ec598c5a9da76537f93a95eac
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2017-06-14 08:21:29 +00:00
Sami Nurmenniemi 0340120d5f Disable/blacklist failing tests for boot2qt
Currently boot2qt is tested with QEMU and some tests fail. Disabling
them for now to make it possible to enable qt5 tests for Coin.

Task-number: QTBUG-60266
Change-Id: Ic6494b8a17d4bd277f04472bea9d83cb20bc3805
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2017-04-28 11:16:53 +00:00
Liang Qi 54910f8cf8 Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
	tests/auto/cpptest/q3dscene/tst_scene.cpp
	tests/auto/qmltest/scene3d/tst_scene.qml

Change-Id: I0aef5e7d8fe202e7f4c7565922938d1627ab8124
2016-12-12 12:23:04 +02:00
Tomi Korpipää e584f8753a Allow light position modification by user
Change-Id: I7efd56754bae16990fd11081493da0a37698f76b
Task-number: QTRD-1803
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2016-11-18 11:17:22 +00:00
Tomi Korpipää 0d4096ab9d Fixed inability to set subviewports
Change-Id: I7966292cca04fe990a2fa6a5b4233bf89e77c553
Task-number: QTRD-1807
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2016-11-14 10:39:07 +00:00
Tomi Korpipää 96086b01a3 Fixed some autotests
Some compare types seems to have worked incorrectly and/or differently in
previous Qt versions. Made changes to autotests accordingly.

Change-Id: Ia2c5da59ebec76718266a8009bbffe060ae32470
Task-number: QTBUG-55910
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2016-09-27 03:16:01 +00:00
Miikka Heikkinen 87a5ca09e4 Add manual tests to releases
Change-Id: I52f80d7375502a9a8dd08238745a142809538d31
Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2016-01-15 11:50:04 +00:00
Miikka Heikkinen 957936525c Copyright file update to GPL
Change-Id: Ib264fe1f2cd1589e2ba1ef2dc7d8f3951e125708
Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com>
2016-01-12 15:38:13 +00:00
Miikka Heikkinen db2a90fa9b Remove some manual test apps
Removed
- Kinectsurface - Has 3rd party code.
- qmlcamera - Ugly mess and kinda pointless.
- qmlmultiwindow - Test is not relevant and is buggy.
- spectrum - Has 3rd party code.

Change-Id: Ic28ffddf9e45f51a5320d4ebd0e2b7b373452cb7
Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com>
2016-01-12 14:40:58 +00:00
Miikka Heikkinen 31f9c57bc5 Fix issues with COIN builds
-Fix miscellaneous compile errors
-Move manual tests to manual folder and enable export of autotests
-Added widgets requirement
-Fixed autotests
-Fixed renderer and controller synchronization in QML case
-Treat fallback Mesa as ES2 similar to setting AA_UseSoftwareOpenGL

Change-Id: If6619733725d079e339bef16262e5ea1450ab20f
Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com>
2015-10-22 10:08:51 +00:00
Miikka Heikkinen 4162ddeb02 Update license headers
Change-Id: I0581aefcf9dabc64b05eb8c97b5b92da1fb26299
Reviewed-by: Titta Heikkala <titta.heikkala@theqtcompany.com>
2015-10-20 08:47:05 +00:00
Mika Salmela 67674dd748 Data member initialization removed from header.
Change-Id: I12ff4abfe54a54831f833a5e23a8367dd5792210
Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
2015-07-03 14:08:57 +00:00
Miikka Heikkinen a71eb045af Fix building against 5.6
Apparently Qt modules are now required to use Q_SIGNALS and Q_SLOTS
macros instead of 'signals' and 'slots' in headers.

Change-Id: I4140b1fff4386d74bb371176919234366965e887
Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
2015-06-17 14:24:57 +03:00
Mika Salmela 273bae38cf Copyright header changes
Copyright header changes for 5.5.

Change-Id: I0361cfe1ebdb28955cb927700f14cf7b72694421
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2015-04-14 13:50:10 +03:00
Mika Salmela aa2abb9869 Dust and H2 to galaxy
Change-Id: I3bd3357fe73fbed68498311e0fd2a969980369a3
Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
2014-12-12 14:19:00 +02:00
Mika Salmela 1ab6dc3977 Write fps to file.
Change-Id: I303c243b25da0003ca86e5085b913f54a14dc86f
Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
2014-12-08 13:25:03 +02:00
Mika Salmela b492b27371 Fixes to galaxy.
Change-Id: I41a666177526db8563eee5799dee57e9994800dc
Signed-off-by: Mika Salmela <mika.salmela@theqtcompany.com>
2014-12-08 11:44:30 +02:00
Mika Salmela b439a667c0 Improve button width setting on perf tester.
Change-Id: I1106cfbfca839d6af09a6cc505e2630ab2b9dc49
Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
2014-12-04 15:39:12 +02:00
Mika Salmela 30f86f1037 Galaxy improvement.
Change-Id: I87ed53c41929e13e8d77236726b30dc5d89df077
Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
2014-12-04 11:36:19 +02:00
Mika Salmela deaab27525 Initial version of Galaxy.
Change-Id: I29898bed342022290c8c8a6c4459969ffba3df56
Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
2014-12-04 09:57:57 +02:00
Miikka Heikkinen cba93d8dea Fix WinRT issues.
Primary fix is to not use shared context in qml with WinRT,
as that causes black screen.

Also removed widget apps from build in WinRT.

Change-Id: Id65ce90dbeb80442194ab838952e8cadc91135a6
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-11-19 15:56:56 +02:00
Miikka Heikkinen 99907042c7 Remove cpp autotests from android builds.
Change-Id: I1b80c618af7739ec42cac3cccdfc948e979c52d9
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-11-17 11:14:22 +02:00
Miikka Heikkinen b6ee023ced Change copyright headers.
Change-Id: I453438fee92f18c983c1bef04c68b24a7ff72cf9
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
2014-11-07 10:22:35 +02:00
Miikka Heikkinen b6bf8a4b70 Fixed Valgrind reported issues in cpp tests
Change-Id: I284832fc697e0ac6ef1ba1bb857892a10cbcd8fd
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-11-06 11:46:26 +02:00
Mika Salmela a1feedcf46 Qml perf data generation on cpp
Change-Id: If770c96ff84e49a747c4355e56bff002556cd659
Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
2014-11-03 11:23:13 +02:00
Miikka Heikkinen 89911624cf Allow small delay in scene test for viewport resize
On linux, there seems to be some asynchronous activity
related to window resizing, since calling processEvents() is not
enough to ensure viewport size gets updated in subViews test.
Use QTRY_COMPARE to allow for small delay.

Change-Id: Idae04ff9436c819ef150caa57f6fa988e4011746
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-10-31 09:19:13 +02:00
Miikka Heikkinen a96cf650b9 Fix crash when initializing QCustom3DLabel out of context.
Task-number: QTRD-3391
Change-Id: I5c2f2b674e50e7d39bc9355ebc9bcf05f22d5a39
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-10-29 13:08:40 +02:00
Miikka Heikkinen bf716cfdf0 Support for dynamic opengl builds.
Task-number: QTRD-3392
Change-Id: I786bbf5ee9252b92d43d02d6b88ed9b986b4a5eb
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-10-29 09:35:29 +02:00
Miikka Heikkinen 33b3fe3784 Make build check for existence of quick module.
Change-Id: Icd04b72bb7bdbf34c73e6f27c90674fda4fc4cc2
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-10-24 10:16:58 +03:00
Tomi Korpipää 0679c92560 Autotests ES2 fix
Some properties have different default values, or cannot be
changed at all on ES2.

Change-Id: Ieb3951f5692a645eafab492819ce18de19134335
Change-Id: Ieb3951f5692a645eafab492819ce18de19134335
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-23 11:40:41 +03:00
Tomi Korpipää 14ba79846a Added C++ autotests for custom items, labels and volumes.
Task-number: QTRD-3368
Change-Id: Ia6199669b0b70190de5a5d057c596093a051c1a9
Change-Id: Ia6199669b0b70190de5a5d057c596093a051c1a9
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-23 09:08:58 +03:00
Tomi Korpipää 8b40f40c4b Added C++ autotests for input
Task-number: QTRD-3368
Change-Id: I0ca32bcaf4025cac24ece2e80fab6a2eee3562b0
Change-Id: I0ca32bcaf4025cac24ece2e80fab6a2eee3562b0
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
2014-10-22 12:28:49 +03:00
Tomi Korpipää a845ef527b Added C++ autotests for theme
Task-number: QTRD-3368
Change-Id: I369d8cad75f02a0cc585edad57c3ddcd8ef221d9
Change-Id: I369d8cad75f02a0cc585edad57c3ddcd8ef221d9
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-22 11:09:53 +03:00
Tomi Korpipää 6be168da13 Added C++ autotests for scene, light and camera
Task-number: QTRD-3368
Change-Id: I6cd7a73477ac34d025c9bdcd7b775abab7d1426c
Change-Id: I6cd7a73477ac34d025c9bdcd7b775abab7d1426c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-22 09:31:26 +03:00
Tomi Korpipää 208cb0638f Added autotests for C++ axes
Task-number: QTRD-3368
Change-Id: I79f49ba839f191b64206f38763b2afff167757b7
Change-Id: I79f49ba839f191b64206f38763b2afff167757b7
Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
2014-10-22 06:13:00 +03:00
Tomi Korpipää f7f1e1373e Added C++ autotests for series
Also fixed a bug found in testing, and added tests for
optional constructors for already tested classes.

Task-number: QTRD-3368
Change-Id: I2214f28e2c5069ecab422fc6817acb2f0c0b192b
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-21 11:23:12 +03:00
Tomi Korpipää ad4c012bcb Added C++ autotests for proxies.
Task-number: QTRD-3368
Change-Id: I9412afd4c6e79835ce8ee9587736e189d4f2fbf6
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-20 11:11:20 +03:00
Tomi Korpipää dcbfe9d4c6 Added skeletons for C++ graph proxies and series
Task-number: QTRD-3368
Change-Id: I85680bfca28e5ed1039526310fdf89717b1e84ae
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-17 10:37:14 +03:00
Tomi Korpipää b25f6926de Added invalid value tests for QML autotests
Plus fixed a QML documentation bug, and added a missing
inheritance to docs.

Task-number: QTRD-3383
Change-Id: I1f7c56c49b829fee2cfd0731bbcc7e248a06a0c0
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-17 09:06:43 +03:00
Miikka Heikkinen 425ece960c Fix memory leaks in volumetrictest app.
Change-Id: I742a5a5d7c69ef73ba469bfa4bac49a71b8f578a
Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-10-17 08:54:10 +03:00
Tomi Korpipää a24d3628fc Test for QML proxies
Also added missing default values to some docs.

Task-number: QTRD-3368
Change-Id: I98940a80d6edfe60801c6b2606307b3ec3ab8c39
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-16 13:32:33 +03:00
Tomi Korpipää e12a902adc Added tests for QML axes
Task-number: QTRD-3368
Change-Id: Ie7be01bdbd0f63eccde39af86d1423d0af5df1b3
Change-Id: Ie7be01bdbd0f63eccde39af86d1423d0af5df1b3
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-16 09:43:43 +03:00
Tomi Korpipää 9f6123afc3 Added tests for QML input
Also updated missing inheritance to docs

Task-number: QTRD-3368
Change-Id: I7b091009d7d89d601215bb4484b8eac7274bcf14
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-15 13:04:16 +03:00
Tomi Korpipää 3607a9c92b Added test for QML scene types
Also added missing version 1.2 properties to previously done
tests.

Task-number: QTRD-3368
Change-Id: Ifa5197cecc9bb95ca288a44ebcbd6fbcc0bf1e7d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-15 11:50:29 +03:00
Mika Salmela f5ee23bb1f Small cleanups for surface
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>
2014-10-15 09:55:37 +03:00
Tomi Korpipää 733bff1b08 Added tests for QML custom items
Also added skeleton for remaining QML tests and some
inheritance updates to documentation.

Task-number: QTRD-3368
Change-Id: I28cb52c4738953b7f281ce91a3764f849643d35a
Change-Id: I28cb52c4738953b7f281ce91a3764f849643d35a
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-15 09:51:10 +03:00
Tomi Korpipää c5d9c5c197 QML tests for theme
Task-number: QTRD-3368
Change-Id: I1fa3de637dafcd601490155e29fb36008b1eafcf
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-15 09:37:22 +03:00
Miikka Heikkinen 91a9698b80 Simplify context handling at cleanup.
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>
2014-10-15 09:37:17 +03:00
Miikka Heikkinen d0244a84f1 Gradient adjustment logic was broken.
Bug in adjustment logic caused adjustment to happen pretty much always.

Task-number: QTRD-3374
Change-Id: Id6151d2d3eb8369bbf9252e4eb4b76ed57fb1f3c
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-10-14 13:33:04 +03:00
Tomi Korpipää 7d954d4852 QML series tests added
Task-number: QTRD-3368
Change-Id: I80ecdb1a9bcef6ed83d278d975d70f7794ff03c1
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-14 11:35:19 +03:00
Tomi Korpipää 961600f654 Bars3D, Surface3D and Scatter3D tests
Task-number: QTRD-3368

+ Removed erroneous property from docs

Change-Id: I675e16b58e7b190b2b33d29029654039a60b5bfc
Change-Id: I675e16b58e7b190b2b33d29029654039a60b5bfc
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-14 09:37:57 +03:00
Miikka Heikkinen 4f70d3777e Fix gradient artifacts on some edge cases
When static optimization is in use with mesh objects and range
gradient, and the object Y-value resolves into a texture coordinate
that is exactly on the texel boundary, the rendered fragments
of the object are not all same colors on some graphics cards,
despite all vertices having the same UV value.
Fixed by adjusting the Y-value slightly if it is close to the
boundary.

Task-number: QTRD-3370
Change-Id: Ie028602cbd9a00bb0e17049eb8f40feb8b18a6bf
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-10-14 08:56:31 +03:00
Miikka Heikkinen 732c9f39f0 Fix context cleanup
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>
2014-10-13 10:33:10 +03:00
Tomi Korpipää 8ff6a5d6d8 Q3DBars, Q3DScatter and Q3DSurface autotests
Task-number: QTRD-3368
Change-Id: I86f1d632fe4421c35cc492161c7334602e6f61c0
Change-Id: I86f1d632fe4421c35cc492161c7334602e6f61c0
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-13 10:23:56 +03:00
Mika Salmela fd9486b6cb Qml performance measurement app
Change-Id: I425da013160a12c1d2b3985e04059886d0695474
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-10-10 13:29:10 +03:00
Tomi Korpipää 220f236a18 Added initial CPP autotests
Task-number: QTRD-3368

Just a skeleton with a very basic test set for now.

Change-Id: I53309374a7d9cbfd06a4cdfbeb302f6649db9c4a
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-10 13:27:07 +03:00
Tomi Korpipää cb5ab9bc21 Basic autotests for Bars3D, Scatter3D and Surface3D
Change-Id: I36b384d2bcb9d2db2464b3eaaaae2c76c3bb740c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-10 12:28:52 +03:00
Tomi Korpipää 93204b3bda Added initial QML autotests
Just a skeleton for now.

Change-Id: I27d577062e7e96880d843a87b71791f896bc2522
Change-Id: I27d577062e7e96880d843a87b71791f896bc2522
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-10 06:05:50 +03:00
Miikka Heikkinen f3a7378273 Fix screen position based queries in threaded rendering environment
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>
2014-10-09 10:09:31 +03:00
Miikka Heikkinen 0d102fc303 Fix minor issues found in testing
Change-Id: If40f10043951409b3d6597776b60d7eb55c73eec
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-10-08 09:52:19 +03:00
Mika Salmela 90ac955006 Fix surface normals on ascending/descending
Normals and triangles are generated according to data direction.

Task-number: QTRD-3160
Change-Id: Ia4286467682628930da3d82b204fd1ec078a396a
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-10-06 11:34:27 +03:00
Tomi Korpipää d5535488b3 Fixed ordering of subviews
Task-number: QTRD-2790
Change-Id: I8ac6ce89920a9c988c7a059e1b02c980a0264200
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-10-02 10:30:54 +03:00
Miikka Heikkinen 6821c16e36 Make background margin configurable
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>
2014-09-30 10:08:14 +03:00
Miikka Heikkinen 23717be466 Fix absolutely scaled volumes
Min/max bounds were set incorrectly.

Change-Id: I54e115ef98321531410bcb64146ae32230375d4e
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-09-26 12:21:37 +03:00
Miikka Heikkinen 0ab45b018f Implement zooming to cursor
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>
2014-09-26 10:06:52 +03:00
Miikka Heikkinen 36bc54f572 Allow setting the floor level on bar graphs.
Task-number: QTRD-3313
Change-Id: Ie0f8e36af8698081a6937c360043773da895b6e6
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-09-22 09:35:46 +03:00
Tomi Korpipää 3e795fd544 Fixed custom item wrong side reflection
Task-number: QTRD-3311

Change-Id: Ia5aea90259c249a5ffd48e16fae4e2dc33902afd
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-09-17 11:31:14 +03:00
Miikka Heikkinen e5f6ab99b4 Implement volume slice frames
Change-Id: I409f3c95892b26ca6097dd4509109fc9978b9900
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-09-12 12:15:02 +03:00
Miikka Heikkinen ddb9be979d Limit volume to axis ranges
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>
2014-09-10 12:30:54 +03:00
Miikka Heikkinen bb30ea555c Add possibility to scale custom items according to data ranges
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>
2014-09-08 09:21:04 +03:00
Miikka Heikkinen 28777a99f7 Allow setting volume subtexture along any axis
Change-Id: Iafaac6bd2106253bec913d1d9ee8a3f40e339adf
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-09-03 14:34:08 +03:00
Miikka Heikkinen ac96d7ae26 Make volume items draw after regular custom items
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>
2014-09-03 09:43:19 +03:00
Miikka Heikkinen d85e665b11 QML support for volume items
Change-Id: I4061bfd4d288aabaea76847c9f692e71ecf5f94c
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-09-03 09:12:28 +03:00
Miikka Heikkinen 57726e6752 Change volumetric example to show fictional terrain
Change-Id: I7cb3c59acef5364ff964da3e756d2db387b53308
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-09-03 09:12:19 +03:00
Miikka Heikkinen 3c2d0623c7 Add option to use low definition volume shader.
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>
2014-09-02 09:11:56 +03:00
Mika Salmela 6ec2eb3147 Diffuse and specular color for static optimization
Change-Id: I2c51ba06c6af9193a70f4a268dfd2fbd6c6910b3
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-08-27 11:49:15 +03:00
Tomi Korpipää fcac33d0ee Reflection API added
Task-number: QTRD-3287

Change-Id: I6c06b8fe025e0f1f87be00be906cab0e1f18a19f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-08-26 11:57:58 +03:00
Miikka Heikkinen 5a51d06ec8 Add alpha multiplier to QCustom3DVolume api
Change-Id: I856c4166513f6d6f7b73fd52bc46d52ab1b8fdff
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-08-25 15:01:10 +03:00
Miikka Heikkinen f9bb71fd11 Implement API function for rendering volume slice to an image.
Change-Id: Iea18967c3b525a8d4507a06e6541c85ed3abb470
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-08-25 08:17:45 +03:00
Miikka Heikkinen ae411d84b9 Tweak volume shaders.
Also fix custom object default texture.

Change-Id: Iba9ff6afb807d9f7a4e1f58b0e5fb4bca4c9c431
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-08-22 14:47:54 +03:00
Miikka Heikkinen 169a4d638c Implement volume rendering support
New subclass of QCustom3DItem, QCustom3DVolume is provided.
The documentation for the example will be done in a separate commit.

Change-Id: Idb3fdb0654c6bec7606ca012b75852a5a8412397
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-08-18 09:11:30 +03:00
Miikka Heikkinen dd99eb7374 Enable camera targeting.
Also fix custom item positioning in absolute mode as it was completely
broken in bars and z-coord was flipped in others.

Clarified Q3DObject::position property usage, namely that it is reserved
for internal use for now.

Some refactoring also done.

Task-number: QTRD-2567
Change-Id: I5da65b83a2f8ecf20f8fd054e59748278ef1a714
Reviewed-by: Titta Heikkala <titta.heikkala@digia.com>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-08-06 08:39:25 +03:00
Miikka Heikkinen 1b311517f8 Exposed default input handlers to QML
Also added properties to control rotation, zoom, and selection
individually.

Also added missing documentation about surface texture.

Task-number: QTRD-3202
Change-Id: I981edb7f336aea499440559f4a2098711200206d
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-07-04 12:55:05 +03:00