summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix variant tag documentationv2.3.0-rc3v2.3.02.3Pasi Keränen2019-03-291-1/+1
| | | | | | Task-number: QT3DS-3239 Change-Id: If8416376181f9f15bc08b932ac141798f9550990 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Clean up the async loading fix a bitMiikka Heikkinen2019-03-292-10/+32
| | | | | | | | | Reduce unnecessary mutex locking in synchronous case. Task-number: QT3DS-3226 Change-Id: I8990b7809a2e5914a7ec80d7500a8f5247870f86 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix slides for distance field textEskil Abrahamsen Blomfeldt2019-03-281-1/+0
| | | | | | | | | | | | | | The distance field text explicitly sets its visibility to fix a bug where hidden text was not properly hidden. This was the wrong approach, and resulted in text on all slides being showed simultaneously. The visibility of the nodes is actually handled by the SlidePlayerNG, so we don't need to explicitly add tag anything as visible when it is created. Task-number: QT3DS-3149 Change-Id: I2303ef98254b990e7072c3d337433d964967bab0 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Use correct stride when calculating vertex counts for custom meshesJanne Kangas2019-03-282-2/+3
| | | | | | | Change-Id: I31a80d4ed69758327d50c354ad5db451661905c5 Task-id: QT3DS-2930 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix async loadingMiikka Heikkinen2019-03-284-12/+40
| | | | | | | | Protect some shared resources with mutexes. Task-number: QT3DS-3226 Change-Id: I270457f9df336592227b343e0e3c39dab9965410 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix IBL lighting mipmap calculationv2.3.0-rc2v2.3.0-rcAntti Määttä2019-03-212-62/+73
| | | | | | | | | | Change the IBL mipmap calculation to happen in the setSource instead of load, because the load function might not have the information needed to enable the calculation. Task-number: QT3DS-3187 Change-Id: I7a765acc0fc8b02e59b5a2759de593aa29db76c6 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add safety checks to ktx parserLaszlo Agocs2019-03-211-1/+7
| | | | | | | Task-number: QT3DS-3186 Change-Id: I214bd7e4b501b2db4b3b9f1e82adf943ba63a300 Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Dragon: Introduce NodeTreeSvenn-Arne Dragly2019-03-2116-212/+355
| | | | | | | | | NodeTree is a separate class that holds the hierarchy of all the nodes. This is then used to create the frame graph hierarhcy and the entity hierarchy. Change-Id: Idfc0b069d24b4e0ac2c108bf63f963403c8aefef Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Dragon: Make changes ordered in TrackingChangesContainerSvenn-Arne Dragly2019-03-2113-135/+178
| | | | | | | | | | | | | This makes sure that all changes happen in the right order, in case the same node has been created, modified, and/or removed since the previous frame. Previously, we only had a list of created, modified, and removed nodes, leading to cases where we could not know if we should create before removal or the other way around. Further, this change removes the DirtyInfo class and replaces it with a simple enum. Change-Id: If23ff583c685996caca87e2f0a9d0d4c7b1543c2 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Dragon: Add get function that asserts if element does not existSvenn-Arne Dragly2019-03-212-3/+4
| | | | | | | | | | With operator[], a default-constructed element would be created, which could later lead to errors. By asserting earlier, it is easier to catch errors while debugging. Change-Id: I784a0b9712d78bd80bccc7b3667847bcd4ef691c Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Dragon: Use LoadedBuffer and not Buffer when accessing dataSvenn-Arne Dragly2019-03-214-16/+16
| | | | | | | | Using LoadedBuffer is necessary to access data created from a generator. Change-Id: Iae984224007db5660bfc6453cf9e83661d106555 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Dragon: Properly handle enabled state for backend nodesSvenn-Arne Dragly2019-03-218-22/+21
| | | | | | | | | | Previously, different nodes handled their enabled property independently. This change makes sure any BackendNode object handles the enabled property in the same way Change-Id: Id8b7485f1e9a72fe38f9d5095ba48ae27d5eb6e0 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix illegal fragOutput for OpenGL ESTomi Korpipaa2019-03-213-5/+8
| | | | | | | | Task-number: QT3DS-3173 Change-Id: Ic6824d8da0b1f26b1e9a561b4a234f19e3c76101 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Fix cropped drop shadow on distance field textEskil Abrahamsen Blomfeldt2019-03-211-12/+29
| | | | | | | | | | | | | | | | The drop shadows would sometimes be cropped, either when the offset was negative or when the font size was larger than the font size in the cache. The fix is two-fold: First of all we need to expand the rendered area in the direction of the offset (so expand to the left for offsetX < 0.0). Secondly, we need to scale it by the font scale to convert to the actual rendered font size. Task-number: QT3DS-3139 Change-Id: I46e61a13baed43b313c0a90880bea519d8afcfba Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix wrong drop shadow offset in distance field textEskil Abrahamsen Blomfeldt2019-03-213-2/+11
| | | | | | | | | | | The offset is used to sample the cache texture, so it needs to be calculated based on the font size in the texture. Task-number: QT3DS-3139 Change-Id: I3ea8d2fb4e43985cbf8b5bf4a1e04133138b8e62 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Pasi Keränen <pasi.keranen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix EOS logic in the animatorChristian Strømme2019-03-207-3/+62
| | | | | | | | | | | | | The logic was broken and in some cases we would not detect that we reached the end e.g, when the local time was equal to the duration, in this case we ended up in a no-op situation and the slide state would not change and the timeChangeCallback would never be called, which meant that visibility wasn't updated as expected. Fixes: QT3DS-3080 Change-Id: Ic6dcfd08ef13a18b769cf5eea3113ec31b776d95 Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add missing override specifiersChristian Strømme2019-03-202-46/+46
| | | | | | | [-Werror,-Winconsistent-missing-override] Change-Id: Ibf3ad506649642830cc159a6b2fa06b73f40bafc Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix text alignment with fixed size text areaTomi Korpipaa2019-03-201-4/+7
| | | | | | | | | Task-number: QT3DS-3137 Change-Id: Ie9758698a35e936c7c8c651b0d42196fd167e48c Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* macOS: Fix overlapping glyphsEskil Abrahamsen Blomfeldt2019-03-201-1/+11
| | | | | | | | | | | | | | | There is a bug in Qt which will scale advances by 0% on macOS when the font used is loaded directly through QRawFont and set directly on a QTextLayout, as the adjustments usually done in QFont and the font database are not applied. This will be fixed in Qt 5.12.3, but since we also have to support Qt 5.12.2, we add a work-around which sets the stretch to 100% for all the fonts loaded. Task-number: QT3DS-3132 Change-Id: Ic908cd47dfdcc808544f7e28c08d4dba45342105 Reviewed-by: Kimmo Leppälä <kimmo.leppala@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Automatically fall back to old text renderer for "clip" word wrapEskil Abrahamsen Blomfeldt2019-03-191-1/+2
| | | | | | | | | | | | | There is a word wrap setting in text which expect the text renderer to clip the text to its area. This was missed when implementing the distance field renderer, and in the interest of time we will just automatically fall back to the old text renderer for this mode in 2.3 and then implement a fix in 2.4. Task-number: QT3DS-3138 Change-Id: I027f369e16d9577c6f941a73d7cf398fdb553f64 Reviewed-by: Kimmo Leppälä <kimmo.leppala@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Handle empty vector type action valuesKaj Grönholm2019-03-191-0/+6
| | | | | | | | | | With all-zero vector values (0,0,0) Studio doesn't currently store "value" parameter at all into uip. So empty vector type values are handled as "0 0 0". Task-number: QT3DS-3143 Change-Id: Iebb7c3f50296ef54da346e48601e14fe6d74892e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Add custominstall.prf for better control of install locationMiikka Heikkinen2019-03-192-1/+11
| | | | | | | | | | | | | | Specify your custom installation path QT3DS_CUSTOM_INSTALL_PATH environment variable before running qmake. This allows bit better control of the install location compared to INSTALL_ROOT - namely a possibility to install to different drive on windows and a possibility to omit superfluous Qt directories from the install path. Task-number: QT3DS-3145 Change-Id: Ie626fd556c3477a5dc64c08cda75e4c1404f1604 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix viewer version numberMiikka Heikkinen2019-03-182-1/+6
| | | | | | | Task-number: QT3DS-3179 Change-Id: I89b661bb5519aaaf2d27e9581aa61b17d80453d6 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Fix compressed texture image loadingAntti Määttä2019-03-181-4/+5
| | | | | | | | | | - Add DXT1 format to block size for texture - Set correct image size for each mip level Task-number: QT3DS-3175 Change-Id: I5ca31882bdf43b0f5d2bda7cab345113184724ea Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix crash in dragon texture jobAntti Määttä2019-03-181-2/+2
| | | | | | | | | | Use copy of texture images instead of reference since the generateTexture will overwrite the existing array. Task-number: QT3DS-3176 Change-Id: Id6bc14e0a017f70d267a599ef1d00faab15f7b4d Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix crash when loading QML stream with non-QQuickItem derived root itemMiikka Heikkinen2019-03-181-1/+1
| | | | | | Task-number: QT3DS-2720 Change-Id: I8b6d68c49d7e3fae991eeab72a2d8e7a47c5ef26 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add null object checks to datainputv2.3.0-beta3Janne Kangas2019-03-151-0/+7
| | | | | | Change-Id: Idbbfb06cb9fe176ad233c6e668743b7178b988ec Task-id: QT3DS-3077 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix text alignment if text has rotationTomi Korpipaa2019-03-151-0/+4
| | | | | | | | | | | | Legacy text renderer did not take text rotation into account when translating text based on alignment. Task-number: QT3DS-3052 Change-Id: I21ef265e438c940727b91c3c3c3a884e8116bb5e Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Fix crash on shutdownMiikka Heikkinen2019-03-131-17/+38
| | | | | | | | | | | | | | | | All copies of Q3DSSourceInfo shared the same m_internalVariantList strings, which caused problems at cleanup time. Another potential issue caused by this would be having multiple Q3DSSourceInfo instances alive and updating variant list on one of them. This would destroy the strings referred by other copies. Fixed by accessing m_internalVariantList and m_variantFilter via a shared pointer. Task-number: QT3DS-3155 Change-Id: I1efdace26e3ed3d09ce1c8f0ad6aadf44d1f5c16 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
* Fix updating texture parametersAntti Määttä2019-03-131-1/+5
| | | | | | | | | | | Call the provided caller function in ReloadableTexture::onLoad every time the function gets called after the texture is loaded so that texture parameters get properly updated when animating. Task-number: QT3DS-3152 Change-Id: Ied2e4685219030ae80905d63ab5855888cbd93c9 Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Start animations at first frameKaj Grönholm2019-03-134-7/+24
| | | | | | | | | | | Delay starting the animations until first frame is rendered. This fixes issue where animations start progressing before user may see them. Also it makes sure all (sub)presentations start animating at the same time. Task-number: QT3DS-3134 Change-Id: I0edc093bfb07df5bda7ac237aeed151cfbe93846 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Text: Draw shadow in text colorEskil Abrahamsen Blomfeldt2019-03-132-2/+2
| | | | | | | | | To match the editor, the drop shadow should be in the text color and not gray. Task-number: QT3DS-3140 Change-Id: I5147da5274603ff5161f437a3b233f084b525164 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Add revision to delayed loadingAntti Määttä2019-03-124-7/+34
| | | | | Change-Id: I37575940d36e4af6f5c22655fe051d2f2ad83fbc Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add manual test for dynamic slide resource loadingAntti Määttä2019-03-1215-1/+491
| | | | | Change-Id: If546d18a2dc0bc2f60c5f703b108c081ef8e89b0 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Implement delayed image loading and slide resource listMäättä Antti2019-03-1213-395/+1030
| | | | | | | | Task-number: QT3DS-2664 Change-Id: I5310329fbf6e4e07cade28ae68161081ddf77f3c Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Load subpresentations asynchronouslyAntti Määttä2019-03-1210-65/+337
| | | | | | | | Task-numer: QT3DS-2664 Change-Id: I612d81f08681eec1a396c1f48b75ca02cc12e8bf Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Stabilize color values from the animatorChristian Strømme2019-03-111-1/+7
| | | | | | | | Ensure that color values are strictly in the 0-1 range Change-Id: I336c990438937a91ee89edac44ccf7ee075a8af3 Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix crash when adding a layerMiikka Heikkinen2019-03-111-1/+4
| | | | | | | | | | | | stereoModeParam needs to be parented to the layerSceneRootEntity like other parameters or runtime will crash when the compositor layer chain is rebuilt. If it is not explicitly parented, the renderpass will own it and delete it when it gets destroyed during rebuild. Task-number: QT3DS-3092 Change-Id: Ide3af92ec5af5eab3413b9ab8833a2138865410d Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
* Fix datainput metadata APIJanne Kangas2019-03-0819-133/+216
| | | | | | | | | | | Change metadata to a full key-value hash table. Change getter APIs to match customer requirements. Parent created Q3DSDataInput objects to Q3DSEngine and do lazy initialization when needed. Change UIA parsing to match Editor-side changes. Add QML-side methods to access metadata. Change-Id: Ife6a6adf498f6daa3f6fa383fcfe837e4d36741c Task-id: QT3DS-3046 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix data input for changing slides in nested componentsChristian Strømme2019-03-071-7/+3
| | | | | | | | | | | | Removed useless check that tested if the component was on the master or current slide, as that's not necessarily the case when you have nested components. Fixes: QT3DS-3033 Change-Id: I0af07a36ee7db62c355434ecdf8ee351a1fef505 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit bad87a705817355996c8265f5424beae39948e86) Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Do not cache datainput min/max rangesJanne Kangas2019-03-076-48/+46
| | | | | | | | | | | | | | | Always query datainput range min/max values from the engine level instead of caching the latest value at Q3DSDataInput level. This is to prevent issues with several Q3DSDataInput objects referring to same datainput entry getting out of sync. For QML, change signal is emitted only for local changes, not for changes through other datainput instances. Task-id: QT3DS-3001 Change-Id: I6e17aeca9ddc6ef59a11fb08ea8e33ccf283b743 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> (cherry picked from commit f05671f64981374fb3d4e598db19ce2a3f142f75) Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Dragon: Fix dirty markingKaj Grönholm2019-03-071-0/+5
| | | | | | | | | | | | | | | | When "markDirty(DirtyTreeInfo{})" was called to mark rendering tree dirty and then some place called plain "markDirty()", the latter replaced former and tree didn't get updated. Instead only add default dirty entry if it doesn't already exist. This fixes stereoscopic mode switching with dragon, but also some other cases where render tree changes. Task-number: QT3DS-2933 Change-Id: I8494fa03059b214e8fe703681f911aa438f95fcf Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Fix crash in updateSizesAntti Määttä2019-03-071-1/+1
| | | | | | | | | Add nullptr check to light gatherer since the attached might not have been created yet. Task-number: QT3DS-3127 Change-Id: Ideaad988ac03b829c8876def1ee3076c560034b9 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Defer calling updateGlobals() when changing visibility on a layersChristian Strømme2019-03-041-1/+7
| | | | | | | | | | We need to know the state of the camera before calling updateGlobals() on a layer, as all other nodes will have the effective visibility update accordingly. Fixes: QT3DS-3080 Change-Id: Ie1b5e77a03d07c66d80c3a30b391452c41de70dc Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Update MetaData.xmlv2.3.0-beta2Miikka Heikkinen2019-03-013-79/+113
| | | | | | | | | Materials no longer have name property, the default value is obtained from MaterialBase. Changed the property parsing logic accordingly. Change-Id: I40653eeefcbeb1c4e293b75b328ebc4a66f2b2de Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Do not double the shadow draw distanceTomi Korpipää2019-03-011-2/+2
| | | | | | | | | | Keep the draw distance for the directional light shadow within camera clip distance instead of doubling it. Task-number: QT3DS-3118 Change-Id: Id7e7b5ffab9856729338ceb72ea366b7c04697e4 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix q3dsviewer with distance field fontsKaj Grönholm2019-03-011-1/+0
| | | | | | | | | Don't delete m_glyphCacheManager as that node is owned by Qt3D and will get deleted automatically when parent m_rootEntity is deleted. Task-number: QT3DS-3120 Change-Id: I9c2e967058239db6b2e4bbced42bdea3eeaf559f Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix dereference of null presTomi Korpipää2019-02-281-0/+3
| | | | | Change-Id: I95fcb9631092f368a1ca8ce89a74734386fa4425 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Reduce stereoscopic texture sizes when unusedKaj Grönholm2019-02-282-16/+34
| | | | | | | | | | Initially and when left & right eye textures are not used, minimize their size. Task-number: QT3DS-3084 Change-Id: Id6b5252cb1a9bc8b9bca64696268b71353a95ca4 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Dragon: Reset bounding volume containersSvenn-Arne Dragly2019-02-271-3/+4
| | | | | Change-Id: Iaa87aaf3097d6dcfde81531337bd676b7604c384 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>