Qt Declarative (Quick 2)
Go to file
Eskil Abrahamsen Blomfeldt 90bf30376c Anisotropic antialiasing for distance field text
For perspective transforms, we need to find the sample
range in the glyph cache per pixel. We can do this by
getting the gradient of the distance field at the
specific pixel.

This will ensure proper antialiasing with any
projection, but has the limitation that when glyph contours
become thinner than a pixel, they may disappear or become
too emphasized, because the hardware-gradient - based on
neighbouring fragments - is not reliable at that scale.
So we should only default to this when we detect that the
text is child of a 3D scene.

To make this smooth, we need to know the mode of the renderer
when creating the shader. So QSGMaterial::createShader()
now takes a render mode that we can use to customize behavior
based on whether it is rendering into a 2D or 3D scene.

[ChangeLog][QtQuick] The QSGMaterial::createShader() virtual
function has been extended to take a render mode argument,
which can be used for any customizations needed in the case
where the shader will be used in combination with 3D perspective
transformations.

Fixes: QTBUG-84695
Change-Id: I5a18a4edbdfa07e8f9d506c42bb20e8eb580927d
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-06-15 10:20:21 +02:00
cmake CMake: Regenerate configure.cmake files 2020-06-04 22:27:33 +02:00
coin CMake: Enable cross-building Coin configurations 2020-03-15 12:43:42 +01:00
dist Add changes file for Qt 5.15.0 2020-04-28 19:57:47 +02:00
examples Anisotropic antialiasing for distance field text 2020-06-15 10:20:21 +02:00
features Add the skeleton for a D3D12 backend 2016-02-19 14:51:37 +00:00
src Anisotropic antialiasing for distance field text 2020-06-15 10:20:21 +02:00
tests Port type registrar test to cmake 2020-06-14 23:15:53 +02:00
tools Replace calls to deprecated QEvent accessor functions 2020-06-11 22:00:19 +02:00
.cmake.conf CMake: Regenerate qtdeclarative/src 2020-05-29 10:01:16 +02:00
.gitattributes
.gitignore Ignore some cmake generated files 2020-04-02 08:41:08 +02:00
.gitmodules Update to the latest version of the ecmascript test suite 2018-04-26 20:26:36 +00:00
.prev_CMakeLists.txt CMake: Regenerate qtdeclarative/src 2020-05-29 10:01:16 +02:00
.qmake.conf Remove QT_NO_LINKED_LIST 2020-02-12 12:48:32 +01:00
.tag
CMakeLists.txt CMake: Regenerate qtdeclarative/src 2020-05-29 10:01:16 +02:00
LICENSE.FDL Add license files mandated by (L)GPL. 2013-02-15 00:03:10 +01:00
LICENSE.GPL2 Updated license headers 2016-01-19 14:53:18 +00:00
LICENSE.GPL3 Updated license headers 2016-01-19 14:53:18 +00:00
LICENSE.GPL3-EXCEPT Updated license headers 2016-01-20 11:46:25 +00:00
LICENSE.LGPL3 Updated license headers 2016-01-19 14:53:18 +00:00
configure.json Move model types into their own library 2019-05-02 09:26:04 +00:00
dependencies.yaml Update dependencies on 'dev' in qt/qtdeclarative 2020-06-15 04:37:22 +03:00
qtdeclarative.doxy Add doxyfile for building doxygen documentation 2018-08-16 15:54:40 +00:00
qtdeclarative.pro Port python check to configure system 2020-05-07 13:45:03 +02:00
sync.profile Move the header checking into ExecutableCompilationUnit 2019-06-14 19:08:51 +02:00