| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This change replaces the existing application icons with the newly
designed ones.
Task-number: QTBUG-70826
Change-Id: If8f44a353a9bb57b3af2208fd38c315b3039173c
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When QRawFont::setPixelSize() is used in combination
with QTextLayout, we end up creating a multi font engine for
the cloned engine and putting this into the font cache. This
is a bug in itself, but it is especially severe on Freetype,
because another bug prevents the engines from being garbage
collected when the cache gets full. See QTBUG-76219. The
result was that all changes to text in Qt 3D Runtime
would leak memory.
Since the distance field text is done in design metrics, we
don't really need the correct pixel size to make the layouts.
We can do them in the pixel size of the font we get from
the database and just scale the results. We have to also scale
the input to the layout in that case.
This is both a work-around for the memory leak but also a
performance improvement, so it should stay even when QTBUG-76219
is fixed.
Task-number: QT3DS-3617
Change-Id: I2f1bdc7a041debf2384319b3459f1684fa4066fa
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Jari Karppinen <jari.karppinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A crucial part of the reference counting was missing, so
we would never actually dereference any glyphs. This can
have an impact when the caches grow too large and we need
to recycle parts of it.
Change-Id: I5cc85c5128f2f7c33e74b22b6ec1387cb892e69f
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Jari Karppinen <jari.karppinen@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
| |
We would leak a few bytes per glyph cache since the area
allocator was never deleted.
Change-Id: I9efdfbe34839dada2d8f03d07e271b2ade812811
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ia96a4b76778be649c42cb6c647f4f1f4af212fda
Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
|
|
| |
Also do not require users to leave the main function open for custom
shaders.
Task-number: QT3DS-3544
Change-Id: I81a8969bb39d6716746b3172402bd9150461df67
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
| |
Task-number: QT3DS-3366
Change-Id: Ifcd328051eaf594a801db77497eca2482713469d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
| |
Task-number: QT3DS-2903
Change-Id: I0674abbdcd11395869cdc7c196c9c1aef3b484f3
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current approach of trying to calculate the scale
factor based on the determinant of the matrix breaks
down when the text is very close to the camera or
when the determinant is too low for single precision
floats.
On a lot of hardware (core GL, GLES3+, and GLES2 with the
standard derivation extension), we can get the positive
derivation of the distance field using fwidth() and
do the antialiasing based on this.
So this will improve the appearance and consistency of
the antialiasing on all devices that support the
derivation extension.
In addition, this fixes the sqrt() in the fall back to
be a cubic root instead, since there are three scale
factors in 3D rather than two.
Task-number: QT3DS-3343
Change-Id: I64483ee1a30e42f955597944f45e6fdead8063bd
Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
| |
Task-number: QT3DS-3394
Change-Id: Ib7662ec150f5f3a7b1b233e8493bb09e9d45a727
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Jari Karppinen <jari.karppinen@qt.io>
Reviewed-by: Janne Kangas <janne.kangas@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were ignoring the projection matrix when calculating the
alpha range of the distance field algorithm. In Qt Quick this
is not necessary since there is no depth in the scene, but
in 3D of course it became very obvious as the text moved
closer to the camera.
Note that there is still an issue visible when combining a
scaling model matrix with proximity to the camera, but since
this is a clear improvement, I commit it by itself and defer
the other problem to a follow-up patch.
Second note: This also fixes a bug where the texture width and
height was not cast to float, which is not according to spec and
will break on some drivers.
Task-number: QT3DS-3343
Change-Id: Iddf00614c307ffc73119ecb37a4dfbb52dad78b1
Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Layer backgrounds are to use the alpha channel. This is also implemented
in the editor (and RT1). Also update the VignetteEffect.effect to work
correctly with the vec4 vegnette color and removed 3 duplicated test checks.
Change-Id: I709629855f3172d65f359525e90cd5c91000f548
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Capture and replay visibility changes via setAttribute API after slide
system has been initialised. This fixes the case of early visibility change
going missing when slide system initialises the object visibilities to
default values coming from presentation file.
Task-ID: QT3DS-3306
Change-Id: Ief9b2bf68343d60c4cff5056668a5902dd9adc74
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit fixes multiple documentation warnings and problems:
- Add missing documentation for Presentation.
- Add missing 'QT += 3dstudioruntime2' class info by introducing
a \module page.
- Add missing import statements info for QML types by introducing
a \qmlmodule page.
- Make the documented QML import statements follow module
versioning.
- Add missing documentation dependencies.
- Omit internal classes/orphaned doc comments from the build.
- Fix minor language issues.
Change-Id: I854fc0646bfed9282c9a4159890b5fa6f40d46d0
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
| |
This automates the version bumps for generated documentation
Change-Id: I8b1ed29944a8ad4a17336681792a558dc6a6389d
Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Remove invalid highp qualifiers from the shaders
Fixes: QT3DS-3262
Change-Id: I3c42b08aded38f42ab3814a0d76d02da5f63c318
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|\
| |
| |
| | |
Change-Id: I45789a62b7e94717257a1a9ef7030124fbee69c3
|
| |
| |
| |
| |
| |
| | |
Task-number: QT3DS-3239
Change-Id: If8416376181f9f15bc08b932ac141798f9550990
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
Change-Id: I31a80d4ed69758327d50c354ad5db451661905c5
Task-id: QT3DS-2930
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Protect some shared resources with mutexes.
Task-number: QT3DS-3226
Change-Id: I270457f9df336592227b343e0e3c39dab9965410
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QT3DS-3186
Change-Id: I214bd7e4b501b2db4b3b9f1e82adf943ba63a300
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
[-Werror,-Winconsistent-missing-override]
Change-Id: Ibf3ad506649642830cc159a6b2fa06b73f40bafc
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QT3DS-3179
Change-Id: I89b661bb5519aaaf2d27e9581aa61b17d80453d6
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
Task-number: QT3DS-2720
Change-Id: I8b6d68c49d7e3fae991eeab72a2d8e7a47c5ef26
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Idbbfb06cb9fe176ad233c6e668743b7178b988ec
Task-id: QT3DS-3077
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: I37575940d36e4af6f5c22655fe051d2f2ad83fbc
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|