Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-quickeffectmaker for
openSUSE:Factory checked in at 2023-05-28 19:22:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-quickeffectmaker (Old)
and /work/SRC/openSUSE:Factory/.qt6-quickeffectmaker.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-quickeffectmaker"
Sun May 28 19:22:05 2023 rev:2 rq:1089099 version:6.5.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/qt6-quickeffectmaker/qt6-quickeffectmaker.changes
2023-04-05 21:37:30.399202547 +0200
+++
/work/SRC/openSUSE:Factory/.qt6-quickeffectmaker.new.1533/qt6-quickeffectmaker.changes
2023-05-28 19:22:26.416818445 +0200
@@ -1,0 +2,6 @@
+Wed May 24 07:45:40 UTC 2023 - Christophe Marin <[email protected]>
+
+- Update to 6.5.1
+ * https://www.qt.io/blog/qt-6.5.1-released
+
+-------------------------------------------------------------------
Old:
----
qtquickeffectmaker-everywhere-src-6.5.0.tar.xz
New:
----
qtquickeffectmaker-everywhere-src-6.5.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-quickeffectmaker.spec ++++++
--- /var/tmp/diff_new_pack.SlLK0N/_old 2023-05-28 19:22:27.008821969 +0200
+++ /var/tmp/diff_new_pack.SlLK0N/_new 2023-05-28 19:22:27.012821992 +0200
@@ -16,7 +16,7 @@
#
-%define real_version 6.5.0
+%define real_version 6.5.1
%define short_version 6.5
%define tar_name qtquickeffectmaker-everywhere-src
%define tar_suffix %{nil}
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-quickeffectmaker%{?pkg_suffix}
-Version: 6.5.0
+Version: 6.5.1
Release: 0
Summary: Tool for creating shader effects for Qt Quick
License: GPL-3.0-only
@@ -82,9 +82,6 @@
%suse_update_desktop_file -i org.qt.quickeffectmaker6
install -D -m644 %{SOURCE2}
%{buildroot}%{_datadir}/icons/hicolor/128x128/apps/org.qt.quickeffectmaker.png
-# CMake files are not useful
-rm -r %{buildroot}%{_qt6_cmakedir}/Qt6QQEffectMakerTools
-
%files
%license LICENSES/* tools/qqem/qml/fonts/SourceCodePro.txt
%{_bindir}/qqem6
++++++ qtquickeffectmaker-everywhere-src-6.5.0.tar.xz ->
qtquickeffectmaker-everywhere-src-6.5.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/.QT-ENTERPRISE-LICENSE-AGREEMENT
new/qtquickeffectmaker-everywhere-src-6.5.1/.QT-ENTERPRISE-LICENSE-AGREEMENT
---
old/qtquickeffectmaker-everywhere-src-6.5.0/.QT-ENTERPRISE-LICENSE-AGREEMENT
2023-03-29 08:45:13.989536000 +0200
+++
new/qtquickeffectmaker-everywhere-src-6.5.1/.QT-ENTERPRISE-LICENSE-AGREEMENT
2023-05-22 09:06:00.308952800 +0200
@@ -1253,7 +1253,7 @@
+----------------------------------------------------------+
| Device Utilities | | | X,R | X,R |
+----------------------------------------------------------+
-| Qt Debugging Bridge (QBD) Daemon | | | X,R | X,R |
+| Qt Debugging Bridge (QDB) Daemon | | | X,R | X,R |
+----------------------------------------------------------+
| Qt Quick Ultralite Controls | | | X,R | X,R |
+----------------------------------------------------------+
@@ -1669,116 +1669,152 @@
APPENDIX 8: INTENTIONALLY LEFT BLANK
APPENDIX 9: SUPPORT TERMS
+Version 2023-04
-These Qt support terms and conditions ("Support Terms") set forth the legal
-framework, where under The Qt Company ("The Qt Company") provides support
+These Qt support terms and conditions (âSupport Termsâ) set forth the legal
+framework, where under The Qt Company (âThe Qt Companyâ) provides support
services (as herein defined) to the Licensee.
1 DEFINITIONS
-"Application Code" shall mean a computer software program written strictly
+âApplication Codeâ shall mean a computer software program written strictly
using the Qt programming language, by or for the Licensee, with a user
interface, enabling the Licensee or their users to accomplish a specific task
and display any results of the task on the display monitor or screen.
-"Dedicated Contact" shall mean the employee of The Qt Company who will be the
-first point of contact for all Designated Users' requests for Support.
+âCustomer Portalâ shall mean The Qt Companyâs web-based service and
support
+user interface located at https://account.qt.io/ or at another location
+designated by The Qt Company. Customer Portal is used by a Designated User with
+Qt Account, and it provides downloads, license management, license certificate
+and other services for Designated Users.
-"Errors" shall mean an error, flaw, mistake, failure, or fault in Licensed
+âDedicated Contactâ shall mean the employee of The Qt Company who will be
the
+first point of contact for all Designated Usersâ requests for Support.
+
+âErrorsâ shall mean an error, flaw, mistake, failure, or fault in Licensed
Software that prevents it from behaving as described in the relevant
-documentation or as agreed between the Parties.
+documentation or as agreed between the Parties. Designated User can follow the
+state and progress of Errors in Customer Portal.
-"Extended Support" shall mean a continuation to the normal Support period,
+âExtended Supportâ shall mean a continuation to the normal Support period,
which allows Designated Users to receive selected Support (Standard Support or
Premium Support) for a version of Licensed Software that is no longer generally
supported by The Qt Company.
-"Install Support" shall mean Support that is limited to installation related
+âInstall Supportâ shall mean Support that is limited to
installation-related
Error(s) on Development Platforms specified as supported host platforms for
-each Qt release under doc.qt.io.
+each Qt release under doc.qt.io. Install Support covers also operational use of
+the QA Tools, but not operational use of Qt Software.
-"Maintenance Release" shall mean a release or version of Licensed Software
+âMaintenance Releaseâ shall mean a release or version of Licensed Software
containing bug fixes, error corrections and other changes targeted to
maintaining and improving product stability and quality. Maintenance Releases
are generally depicted as a change to the third digit of Licensed Software
version number.
-"Platforms" shall mean both Development Platforms and Deployment Platforms.
+âPlatformsâ shall mean both Development Platforms and Deployment Platforms.
Supported host and target Platforms may vary from for each Qt release as
defined under doc.qt.io.
-"Premium Support" shall mean an upgraded level of Support that The Qt Company
+âPremium Supportâ shall mean an upgraded level of Support that The Qt
Company
provides pursuant to these Support Terms to Licensee if Licensee has purchased
-Premium Support instead of Standard Support. Premium Support shall always be
-purchased for all Designated User(s) in the respective development team of the
-Licensee.
+Premium Support instead of Standard Support. Premium Support also covers what
+is included in Standard Support. Premium Support shall always be purchased for
+all Designated User(s) in the respective development team of the Licensee.
+
+âQt Accountâ shall mean the Qt Account for a Designated User used for
using Qt
+services and Customer Portal. A Qt Account is mapped to the Licensee company
+with the corporate email domain or domains.
+
+âQualification Kitâ shall mean a set of documents and validation test cases
+used for product certification needs as defined in section 2.6.
-"Response Time" shall mean the period of time from when Licensee notifies
-TheQt Company about an Error or requests Support until The Qt Company provides
+âResponse Timeâ shall mean the period of time from when Licensee notifies
The
+Qt Company about an Error or requests Support until The Qt Company provides
Licensee with a response that addresses (but not necessarily resolves) the
reported Error or provides the requested Support.
-"Standard Support" shall mean standard level of Support that The Qt Company
-provides pursuant to these Support Terms to Licensee.
+âStandard Supportâ shall mean standard level of Support that The Qt Company
+provides pursuant to these Support Terms to Licensee. Standard Support also
+covers what is included in Install Support.
+
+âSecurity Issueâ shall mean an Error that may cause a vulnerability in a
system
+or application that uses the Licensed Software.
+
+âSupportâ shall mean developer assistance that is provided by The Qt
Company to
+assist eligible Designated Users in Licensed Software installation, usage and
+functionality problem resolution for Error(s) and Error workarounds pursuant to
+the terms of these Support Terms. Support for different products is available
+as specified in the below table (âXâ marking the Support that is included
in
+the license price, optional Add-on Support services are marked as âOâ):
-"Support" shall mean developer assistance that is provided by The Qt Company
-to assist eligible Designated Users in Licensed Software installation, usage
-and functionality problem resolution for Error(s) and Error workarounds
-pursuant to the terms of these Support Terms. Support for different products is
-available as specified in the below table ("X" marking the Support that is
-included in the license price, optional Add-on Support services are marked as
-"O"):
-
-+-----------------------------------------------------------------------+
-| |ADP|ADE|DCP|DCE|DSP|DSE|Squish|Coco|Test Center|
-+-----------------------------------------------------------------------+
-| Install Support | X | X | X | X | X | X | X | X | X |
-+-----------------------------------------------------------------------+
-| Standard Support | | X | X | X | X | X | X | X | X |
-+-----------------------------------------------------------------------+
-| Premium Support | | O | O | O | O | O | O | O | O |
-+-----------------------------------------------------------------------+
-| Extended Support | | O | O | O | O | O | | | |
-+-----------------------------------------------------------------------+
-| Tool Qualification Kit| | | | | | | O | O | |
-+-----------------------------------------------------------------------+
++-----------------------------------------------------------------------------+
+| | Install| Standard| Premium| Extended| Qualification|
+| | Support| Support | Support| Support | Kit |
++-----------------------------------------------------------------------------+
+| DSP | X | X | O | O | |
++-----------------------------------------------------------------------------+
+| DSE | X | X | O | O | |
++-----------------------------------------------------------------------------+
+| ADP | X | | | | |
++-----------------------------------------------------------------------------+
+| ADE | X | X | O | O | |
++-----------------------------------------------------------------------------+
+| DCP | X | X | O | O | |
++-----------------------------------------------------------------------------+
+| DCE | X | X | O | O | |
++-----------------------------------------------------------------------------+
+| Squish | X | X | O | | O |
++-----------------------------------------------------------------------------+
+| Coco | X | X | O | | O |
++-----------------------------------------------------------------------------+
+| Test Center | X | X | O | | O |
++-----------------------------------------------------------------------------+
+| Axivion Suite | X | X | | | |
++-----------------------------------------------------------------------------+
+| Architecture Analysis | X | X | | | |
++-----------------------------------------------------------------------------+
+| Static Code Analysis | X | X | | | |
++-----------------------------------------------------------------------------+
+| Static Coverage | X | X | | | |
+| Analysis Professional | | | | | |
++-----------------------------------------------------------------------------+
+| Qt Insight | | X | | | |
++-----------------------------------------------------------------------------+
-"Support Validity Term" shall mean the Development License Term or any other
-fixed time period agreed between the Parties during which time the Customer is
+âSupport Validity Termâ shall mean the Development License Term or any
other
+fixed time period agreed between the Parties during which time the Licensee is
eligible to receive Support from The Qt Company.
-"Tool Qualification Kit" shall mean a customized set of documents and
-validation test cases.
-
2 SUPPORT SERVICES
2.1 Support Services Provided by The Qt Company
Subject to these Support Terms and during the Support Validity Term, The Qt
-Company will via its web-based support user-interface, provide Designated
-User(s) with Support for the Platforms which Customer has licensed under the
-Agreement.
-The Qt Company will make commercially reasonable efforts to solve any Errors
-reported by Designated User(s). Resolution of an Error may be provided through
+Company will via its Customer Portal, provide Designated User(s) with Support
+for the Licensed Software which Licensee has licensed under the Agreement. The
+Qt Company will make commercially reasonable efforts to solve any Errors
+reported by Designated User(s). Resolution of an Error may be provided through
Designated User(s) themselves downloading of a later released version of the
applicable Licensed Software product(s) or providing the Designated User with a
-temporary workaround addressing such Error.
+workaround addressing such Error or providing the Designated User with an
+updated tool configuration.
2.2 Licensee's Obligations
-To report an Error, the Designated User shall register the Error on The Qt
-Company's web-based support user interface located at:
-https://account.qt.io/login or at another location designated by The Qt
Company.
+To report an Error, the Designated User shall register the Error on the
+Customer Portal. If the Designated User considers the reported Error to be a
+Security Issue, the Error shall be marked as a Security Issue.
The Designated User must provide adequate information and documentation to The
Qt Company to enable it to recreate the Error or problem for which the
-Designated User has sought assistance.
-To ensure efficient handling of Errors, the Designated User must provide the
-following information, where relevant:
+Designated User has sought assistance. To ensure efficient handling of Errors,
+the Designated User must provide the following information, where relevant:
- A clear, detailed description of the problem, question or suggestion;
- Identification of which Licensed Software product and version is affected;
- Identification of the operating environment (e.g. operating system, hardware
- Platform, build tools, etc.) on which the problem exists;
+ Platform, build tools, tool configuration, etc.) on which the problem exists;
+- Marking the issue as a Security Issue, when reporting a Security Issue;
- On Standard Support: A complete and compilable test case of not more than 500
lines of code that demonstrates the problem;
- On Premium Support: A complete and compilable test case that demonstrates the
@@ -1800,29 +1836,30 @@
Each version or release of the Licensed Software will be Supported under
Standard Support or Premium Support only for limited time period as set forth
-in doc.qt.io. For example, regular releases of Qt Software are supported for
-one (1) year from the release date of the version x.y.0 and Long Term Support
-(LTS) Releases are supported for a period of three (3) years from the release
-date of the LTS version x.y.0.
-
-The Qt Company shall only provide Support for Designated User(s).
-
-Support is made available for the entire development teams only: It is not
-allowed to purchase Support only for some members of the development team, and
-all Designated Users of the respective development team must be eligible for
-the same level of Support.
+in doc.qt.io or in documentation provided with the respective Licensed Software
+product. If nothing is documented, a release of Licensed Software is supported
+for one (1) year from the release date of the version x.y.0 and Long Term
+Support (LTS) Releases are supported for a period of three (3) years from the
+release date of the LTS version x.y.0.
+
+The Qt Company shall only provide Support for Designated User(s) through
+Customer Portal.Support is made available for the entire development teams
+only: It is not allowed to purchase Support only for some members of the
+development team, and all Designated Users of the respective development team
+must be eligible for the same level of Support.
Support is not provided for snapshots, preview releases, beta releases or
release candidates.
-The Qt Company shall have no obligation to provide Support for hardware or
-operating system specific problems or problems arising from improper use,
-accident, neglect or modification of Qt.
+The Qt Company shall have no obligation to provide Support for 3rd party
+components, hardware or operating system specific problems or problems arising
+from improper use, accident, neglect, or modification of Qt.
Limitations with Install Support:
-Support limited to Error(s) regarding installation and setting up of the Qt
-development environment on host Platforms.
+Support limited to (i) Error(s) regarding installation and setting up of the Qt
+development environment on host Platforms, or (ii) Errors impacting operational
+use of the QA Tools.
Limitations with Standard Support:
@@ -1848,31 +1885,60 @@
corresponding supported Platform.
Premium Support is optional and purchased for an agreed bucket of hours
-("Bucket"). Hours can be used by any Designated User in the respective
+(âBucketâ). Hours can be used by any Designated User in the respective
development team. To encourage continuous usage of the Support, ten percent
(10%) of the purchased Bucket shall automatically expire (regardless of whether
such support hours are actually used or not by the Licensee) each month after
three (3) months from the purchase of the Premium Support.
-2.4 Extended Support
+2.4 Handling of Security Issues
+
+The reported Errors marked as Security Issues will be assessed by experts to
+determine the severity of the issue and to verify if it indeed is a valid
+Security Issue. The Designated User who reported the issue may be contacted for
+more details. If the reported issue is not deemed to be a Security Issue, it
+will be treated as a normal Error and handled accordingly.
+
+A verified Security Issue will be fixed as soon as possible. Qt Company will
+notify all Licensees via appropriate channels about the Security Errors and
+availability of patches for Licensed Software. Typically, a fix for the
+Security Issue is included in the next Maintenance Release of Licensed
+Software.
+
+If the Security Issue is reported in a third-party library used in Licensed
+Software, The Qt Company will notify the relevant third party of such Security
+Issue detected in their library. When the Security Issue is fixed in the
+third-party library, the new version of the third-party library will be in the
+next feasible Maintenance Release of the Licensed Software. If a fixed version
+of the third-party library is not available, The Qt Company may instead decide
+to include documentation regarding the issue, or a patch for this third-party
+library.
+
+All known Security Issues in Licensed Software will be mentioned as part of the
+change notes released with each version of Licensed Software.
+
+2.5 Extended Support
Extended Support extends the Support Validity Term for a release of Licensed
Software that is no longer generally supported.
Extended Support includes and is by default provided with Standard Support
-rules and limitations, unless Extended Support is purchased with Premium
-Support in which case Premium Support rules and limitations will apply.
+rules and limitations, unless Extended Support is purchased together with
+Premium Support in which case Premium Support rules and limitations will apply.
Extended Support is optional and purchased with annual fee and separately per
each Licensee product. Extended Support will need definition of (i) Licensee
-product, (ii) used Platform(s) and (iii) Licensed Software version(s).
-
-2.5 Tool Qualification Kit
-
-The Qt Company shall provide set of customized documents and validation tests
-that enable Licensee to qualify QA testing tool for the purpose of ISO 26262,
-EN 50128, DO-330, IEC 61508, IEC 62304 or IEC 13485 certification Licensee end
-to end solution.
+product, (ii) used Platform(s) and (iii) Licensed Software version(s). For
+avoidance of doubt, Extended Support requires that the Designated User has a
+valid license for the respective Licensed Software.
+
+2.6 Qualification Kit
+
+The Qt Company shall provide a set of documents and validation tests that
+enable the Licensee to qualify QA testing tool (subject to a separate fee) or
+Qt Safe Renderer for the purpose of safety certification of Licensee end-to-end
+solution. Exact complied safety standards may vary between products, used
+features, use case, and industry.
3 RESPONSE TIME
@@ -1885,6 +1951,9 @@
Premium Support: Errors and Support requests will have a Response Time not to
exceed one (1) business day.
+Security Issues: Errors that are Security Issues will have a Response Time not
+to exceed one (1) business day.
+
For complex issues, The Qt Company may provide an initial response to the
Designated User and then follow up, without undue delay, with additional
communication before an Error is properly addressed or Support provided.
@@ -1908,7 +1977,7 @@
5 MAINTENANCE RELEASES, UPDATES AND UPGRADES
-Under the Support the Customer is eligible for Maintenance Releases and Updates
+Under the Support the Licensee is eligible for Maintenance Releases and Updates
that The Qt Company generally makes available to customers who has purchased
Support. Unless otherwise decided by The Company at its free and absolute
discretion, Upgrades will not be provided under the Support.
@@ -1920,6 +1989,7 @@
- Fixes related to build issues on supported Platforms;
- Error corrections specific to a single Platform that are not present on other
Platforms;
+- Corrections to Security Issues;
- Critical Error corrections such as crashes, data corruption, loss of data,
race conditions; and
- Updates to documentation and license information when deemed necessary by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtquickeffectmaker-everywhere-src-6.5.0/.cmake.conf
new/qtquickeffectmaker-everywhere-src-6.5.1/.cmake.conf
--- old/qtquickeffectmaker-everywhere-src-6.5.0/.cmake.conf 2023-03-28
22:24:23.000000000 +0200
+++ new/qtquickeffectmaker-everywhere-src-6.5.1/.cmake.conf 2023-05-16
13:18:52.000000000 +0200
@@ -1,2 +1,2 @@
-set(QT_REPO_MODULE_VERSION "6.5.0")
+set(QT_REPO_MODULE_VERSION "6.5.1")
set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtquickeffectmaker-everywhere-src-6.5.0/.tag
new/qtquickeffectmaker-everywhere-src-6.5.1/.tag
--- old/qtquickeffectmaker-everywhere-src-6.5.0/.tag 1970-01-01
01:00:00.000000000 +0100
+++ new/qtquickeffectmaker-everywhere-src-6.5.1/.tag 2023-05-16
13:18:52.000000000 +0200
@@ -0,0 +1 @@
+1f26aafb7c01908354a7bf75731840ca16139ac0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/CMakeLists.txt
new/qtquickeffectmaker-everywhere-src-6.5.1/CMakeLists.txt
--- old/qtquickeffectmaker-everywhere-src-6.5.0/CMakeLists.txt 2023-03-28
22:24:23.000000000 +0200
+++ new/qtquickeffectmaker-everywhere-src-6.5.1/CMakeLists.txt 2023-05-16
13:18:52.000000000 +0200
@@ -16,7 +16,7 @@
find_package(Qt6 ${PROJECT_VERSION} QUIET CONFIG OPTIONAL_COMPONENTS Gui Quick
ShaderTools)
# Quick3DGlslParserPrivate is optional
-find_package(Qt6 ${PROJECT_VERSION} COMPONENTS Quick3DGlslParserPrivate)
+find_package(Qt6 ${PROJECT_VERSION} OPTIONAL_COMPONENTS
Quick3DGlslParserPrivate)
set_package_properties(Qt6Quick3DGlslParserPrivate PROPERTIES
TYPE OPTIONAL
PURPOSE "- Enables Syntax Highlighting"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/dependencies.yaml
new/qtquickeffectmaker-everywhere-src-6.5.1/dependencies.yaml
--- old/qtquickeffectmaker-everywhere-src-6.5.0/dependencies.yaml
2023-03-28 22:24:23.000000000 +0200
+++ new/qtquickeffectmaker-everywhere-src-6.5.1/dependencies.yaml
2023-05-16 13:18:52.000000000 +0200
@@ -1,13 +1,13 @@
dependencies:
../qtbase:
- ref: aea92807be2567c4212b96ae67de7137075ba4ee
+ ref: 55aee8697512af105dfefabc1e2ec41d4df1e45e
required: true
../qtdeclarative:
- ref: 3238e18d6b0dc45d2e765fb0b93da5cbf3f396ec
+ ref: 65651dc1d333e2aded18b0d6f0b71c35e5b40c1c
required: true
../qtquick3d:
- ref: 3538ca27fbb0a0247df3b0b4c03af88de086e9bd
+ ref: c3fcfc65a3ea38013081eb93ff351609f368dfaf
required: false
../qtshadertools:
- ref: 2a9f26b893fbc955b7ec1c04c84c5e2de3e987e5
+ ref: 46e8aadf1c6e19b5c177dfb2c1111e245ef37917
required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/examples/quickeffectmaker/wiggly/doc/src/wiggly.qdoc
new/qtquickeffectmaker-everywhere-src-6.5.1/examples/quickeffectmaker/wiggly/doc/src/wiggly.qdoc
---
old/qtquickeffectmaker-everywhere-src-6.5.0/examples/quickeffectmaker/wiggly/doc/src/wiggly.qdoc
2023-03-28 22:24:23.000000000 +0200
+++
new/qtquickeffectmaker-everywhere-src-6.5.1/examples/quickeffectmaker/wiggly/doc/src/wiggly.qdoc
2023-05-16 13:18:52.000000000 +0200
@@ -3,7 +3,7 @@
/*!
\example wiggly
- \meta category {Graphics}
+ \examplecategory {Graphics}
\meta tags {qqem, effects, quickcontrols}
\title Wiggly
\ingroup quickeffectmaker-examples
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/nodes/nature/water.qen
new/qtquickeffectmaker-everywhere-src-6.5.1/nodes/nature/water.qen
--- old/qtquickeffectmaker-everywhere-src-6.5.0/nodes/nature/water.qen
2023-03-28 22:24:23.000000000 +0200
+++ new/qtquickeffectmaker-everywhere-src-6.5.1/nodes/nature/water.qen
2023-05-16 13:18:52.000000000 +0200
@@ -18,7 +18,7 @@
" c += 1.0 / length(vec2(p.x / (sin(ip.x + t) / inten), p.y
/ (cos(ip.y + t) / inten)));",
" }",
" c /= float(WATER_ITERATIONS);",
- " c = 1.2 - (c * c);",
+ " c = max(0.0, 1.2 - (c * c));",
" vec3 water = waterColor.rgb + vec3(pow(c, 4.0)) * (2.0 *
waterWavesColor.rgb - 1.0);",
" fragColor = mix(fragColor, vec4(water, 1.0) * fragColor.a,
waterColor.a);",
"}"
Binary files
old/qtquickeffectmaker-everywhere-src-6.5.0/src/doc/images/add-custom-node.webp
and
new/qtquickeffectmaker-everywhere-src-6.5.1/src/doc/images/add-custom-node.webp
differ
Binary files
old/qtquickeffectmaker-everywhere-src-6.5.0/src/doc/images/vert-tab.png and
new/qtquickeffectmaker-everywhere-src-6.5.1/src/doc/images/vert-tab.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/src/doc/src/how-tos/qqem-porting-shadertoy.qdoc
new/qtquickeffectmaker-everywhere-src-6.5.1/src/doc/src/how-tos/qqem-porting-shadertoy.qdoc
---
old/qtquickeffectmaker-everywhere-src-6.5.0/src/doc/src/how-tos/qqem-porting-shadertoy.qdoc
1970-01-01 01:00:00.000000000 +0100
+++
new/qtquickeffectmaker-everywhere-src-6.5.1/src/doc/src/how-tos/qqem-porting-shadertoy.qdoc
2023-05-16 13:18:52.000000000 +0200
@@ -0,0 +1,65 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial
+/*!
+ \page qqem-porting-shadertoy.html
+ \title Porting Shadertoy effects to \QQEM
+
+ You can use effects created in Shadertoy in \QQEM. When you use Shadertoy
effects, consider
+ the following:
+
+ \list
+ \li \QQEM doesn't support the following Shadertoy features:
+ \list
+ \li Multipass effects (Buffer tabs)
+ \li Audio
+ \li Cube maps
+ \li 3D textures
+ \endlist
+ \li Shadertoy supports only fragment shaders and built-in textures. To
improve the
+ effect performance in \QQEM, move some calculations to the vertex
shader and use
+ custom images to simplify the shader code.
+ \li The coordinate system differs between Shadertoy and \QQEM. In
Shadertoy, the origin (0,0)
+ is located in the lower-left corner while \QQEM has the origin in
the upper-left corner.
+ \endlist
+
+ \section1 Using a Shadertoy effect in \QQEM
+
+ To use a Shadertoy effect in \QQEM:
+ \list 1
+ \li In \QQEM, create a new effect.
+ \li In the node editor, select \uicontrol {Add node} and then, under
\uicontrol Common,
+ select \uicontrol Custom. This creates an empty node.
+ \image add-custom-node.webp
+ \li In Shadertoy, copy all the code from the \uicontrol Image tab.
+ \li In \QQEM, double-click the \uicontrol Custom node in the node
editor. This opens the
+ code editor.
+ \li Paste the Shadertoy code to the \uicontrol Frag tab.
+ \li Find the \c Main function in the code, it looks something like:
+ \badcode
+ void mainImage( out vec4 fragColor, in vec2 fragCoord )
+ \endcode
+ \li Replace this line with:
+ \badcode
+ @main
+ \endcode
+ \note You can't have \c @main and the following \unicode 0x7B on the
same line.
+ \li Optional. If the effect depends on the coordinate system, it appears
flipped
+ upside down. To solve this, you need to flip the y-coordinate:
+ \list 1
+ \li Go to the \uicontrol Vert tab.
+ \image vert-tab.png
+ \li In the drop-down menu, select \uicontrol Main.
+ \li Find the \c fragCoord line, it should look something like:
+ \badcode
+ fragCoord = qt_Vertex.xy;
+ \endcode
+ \li Replace this line with:
+ \badcode
+ fragCoord = vec2(qt_Vertex.x, iResolution.y - qt_Vertex.y);
+ \endcode
+ \li Similarly, you might need to adjust \c texCoord and \c iMouse.
+ \endlist
+ \endlist
+
+ Now, the effect runs and looks the same as the Shadertoy effect.
+*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/src/doc/src/qtquickeffectmaker.qdoc
new/qtquickeffectmaker-everywhere-src-6.5.1/src/doc/src/qtquickeffectmaker.qdoc
---
old/qtquickeffectmaker-everywhere-src-6.5.0/src/doc/src/qtquickeffectmaker.qdoc
2023-03-28 22:24:23.000000000 +0200
+++
new/qtquickeffectmaker-everywhere-src-6.5.1/src/doc/src/qtquickeffectmaker.qdoc
2023-05-16 13:18:52.000000000 +0200
@@ -44,6 +44,7 @@
\list
\li \l{Creating a blur effect}
+ \li \l{Porting Shadertoy effects to \QQEM}
\endlist
\section1 Examples
@@ -73,6 +74,7 @@
\li How-tos
\list
\li \l{Creating a blur effect}
+ \li \l{Porting Shadertoy effects to \QQEM}
\endlist
\li Examples
\list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/CMakeLists.txt
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/CMakeLists.txt
--- old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/CMakeLists.txt
2023-03-28 22:24:23.000000000 +0200
+++ new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/CMakeLists.txt
2023-05-16 13:18:52.000000000 +0200
@@ -1,10 +1,9 @@
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
-qt_get_tool_target_name(target_name qqem)
-qt_internal_add_tool(${target_name}
- TOOLS_TARGET
- QQEffectMaker
+set(target_name qqem)
+
+qt_internal_add_app(${target_name}
SOURCES
main.cpp
addnodemodel.cpp addnodemodel.h
@@ -29,7 +28,6 @@
Qt::QuickPrivate
Qt::ShaderToolsPrivate
)
-qt_internal_return_unless_building_tools()
# Resources:
set(qml_resource_files
@@ -121,6 +119,7 @@
"qml/fonts/SourceCodePro-Bold.ttf"
"qml/fonts/SourceCodePro-It.ttf"
"qml/fonts/SourceCodePro-Regular.ttf"
+ "qqem.ico"
)
qt_internal_add_resource(${target_name} "qml"
@@ -141,3 +140,30 @@
else ()
message(NOTICE "Note: No Quick3DGlslParserPrivate available, building
without syntax highlighting")
endif ()
+
+# Application icon
+if(WIN32)
+ set_target_properties(${target_name} PROPERTIES
+ QT_TARGET_RC_ICONS "${CMAKE_CURRENT_SOURCE_DIR}/qqem.ico"
+ )
+endif()
+
+if(APPLE)
+ set_target_properties(${target_name} PROPERTIES
+ MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info_mac.plist"
+ MACOSX_BUNDLE TRUE
+ MACOSX_BUNDLE_ICON_FILE "qqem.icns"
+ OUTPUT_NAME "qqem"
+ )
+ set_source_files_properties(qqem.icns PROPERTIES
+ MACOSX_PACKAGE_LOCATION Resources
+ )
+ target_sources(${target_name} PRIVATE
+ qqem.icns
+ )
+ # special case end
+ # Set values to be replaced in the custom Info_mac.plist.
+ set(ICON "qqem.icns")
+ set(EXECUTABLE "qqem")
+ # special case end
+endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/Info_mac.plist
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/Info_mac.plist
--- old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/Info_mac.plist
1970-01-01 01:00:00.000000000 +0100
+++ new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/Info_mac.plist
2023-05-16 13:18:52.000000000 +0200
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+ <key>CFBundleIconFile</key>
+ <string>@ICON@</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleIdentifier</key>
+ <string>org.qt-project.qqem</string>
+ <key>CFBundleExecutable</key>
+ <string>@EXECUTABLE@</string>
+ <key>CFBundleDocumentTypes</key>
+ <array>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>qep</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>qqem.icns</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ </dict>
+ </array>
+ <key>NSHumanReadableCopyright</key>
+ <string>(C) 2023 The Qt Company Ltd</string>
+</dict>
+</plist>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/applicationsettings.cpp
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/applicationsettings.cpp
---
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/applicationsettings.cpp
2023-03-28 22:24:23.000000000 +0200
+++
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/applicationsettings.cpp
2023-05-16 13:18:52.000000000 +0200
@@ -6,6 +6,7 @@
#include <QImageReader>
#include <QFileInfo>
+#include <QLibraryInfo>
const QStringList defaultSources = {
"defaultnodes/images/qt_logo_green_rgb.png",
"defaultnodes/images/quit_logo.png",
@@ -164,8 +165,8 @@
: QObject{parent}
{
// Get canonical path into default nodes
- QString resourcesPath = QString(QCoreApplication::applicationDirPath() +
-
QStringLiteral("/../qml/QtQuickEffectMaker"));
+ QString resourcesPath = QLibraryInfo::path(QLibraryInfo::QmlImportsPath) +
+ QStringLiteral("/QtQuickEffectMaker");
QFileInfo fi(resourcesPath);
resourcesPath = fi.canonicalFilePath();
m_settings.setValue(KEY_DEFAULT_RESOURCE_PATH, resourcesPath);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/effectmanager.cpp
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/effectmanager.cpp
--- old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/effectmanager.cpp
2023-03-28 22:24:23.000000000 +0200
+++ new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/effectmanager.cpp
2023-05-16 13:18:52.000000000 +0200
@@ -703,6 +703,8 @@
if (!m_nodeView->m_activeNodesIds.contains(uniform.nodeId))
continue;
if (uniform.type == UniformModel::Uniform::Type::Sampler) {
+ if (localFiles && !uniform.exportImage)
+ continue;
QString imagePath = uniform.value.toString();
if (imagePath.isEmpty())
continue;
@@ -743,6 +745,7 @@
if (!uniform.exportProperty)
continue;
const bool isDefine = uniform.type ==
UniformModel::Uniform::Type::Define;
+ const bool isImage = uniform.type ==
UniformModel::Uniform::Type::Sampler;
QString type = m_uniformModel->typeToProperty(uniform.type);
QString value = m_uniformModel->valueAsString(uniform);
QString bindedValue = m_uniformModel->valueAsBinding(uniform);
@@ -781,6 +784,10 @@
exportedEffectPropertiesString += QStringLiteral(" ") +
readOnly + "property " + type + " " + propertyName + bindedValueString + '\n';
} else {
// Custom values are not added into root
+ if (isImage && !uniform.exportImage) {
+ // When exporting image is disabled, remove value from
root property
+ valueString.clear();
+ }
exportedRootPropertiesString += " property " + type + " " +
propertyName + valueString + '\n';
exportedEffectPropertiesString += QStringLiteral(" ") +
readOnly + "property alias " + propertyName + ": rootItem." + uniform.name +
'\n';
}
@@ -1396,6 +1403,8 @@
defaultValue = relativeToAbsolutePath(defaultValue,
nodePath);
if (propertyObject.contains("enableMipmap"))
u.enableMipmap =
getBoolValue(propertyObject["enableMipmap"], false);
+ if (propertyObject.contains("exportImage"))
+ u.exportImage =
getBoolValue(propertyObject["exportImage"], true);
// Update the mipmap property
QString mipmapProperty = mipmapPropertyName(u.name);
g_propertyData[mipmapProperty] = u.enableMipmap;
@@ -1908,6 +1917,8 @@
defaultValue = absoluteToRelativePath(defaultValue, nodePath);
if (uniform.enableMipmap)
uniformObject.insert("enableMipmap", uniform.enableMipmap);
+ if (!uniform.exportImage)
+ uniformObject.insert("exportImage", false);
}
uniformObject.insert("defaultValue", defaultValue);
if (!uniform.description.isEmpty())
@@ -2109,7 +2120,9 @@
// Copy images
if (exportFlags & Images) {
for (auto &uniform : m_uniformTable) {
- if (uniform.type == UniformModel::Uniform::Type::Sampler &&
!uniform.value.toString().isEmpty()) {
+ if (uniform.type == UniformModel::Uniform::Type::Sampler &&
+ !uniform.value.toString().isEmpty() &&
+ uniform.exportImage) {
QString imagePath = uniform.value.toString();
QFileInfo fi(imagePath);
QString imageFilename = fi.fileName();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/main.cpp
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/main.cpp
--- old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/main.cpp
2023-03-28 22:24:23.000000000 +0200
+++ new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/main.cpp
2023-05-16 13:18:52.000000000 +0200
@@ -6,6 +6,7 @@
#include <QQmlContext>
#include <QtCore/QCommandLineParser>
#include <QDir>
+#include <QIcon>
#include "effectmanager.h"
#include "nodeview.h"
#include "propertyhandler.h"
@@ -37,6 +38,7 @@
app.setOrganizationDomain("qt.io");
app.setApplicationName("Qt Quick Effect Maker");
app.setApplicationVersion(QLatin1String(APP_VERSION_STR));
+ app.setWindowIcon(QIcon(":/qqem.ico"));
// Setup command line arguments
QCommandLineParser cmdLineParser;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/AddNodeDialog.qml
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/AddNodeDialog.qml
---
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/AddNodeDialog.qml
2023-03-28 22:24:23.000000000 +0200
+++
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/AddNodeDialog.qml
2023-05-16 13:18:52.000000000 +0200
@@ -113,6 +113,7 @@
height: parent.height
model: effectManager.addNodeModel
clip: true
+ cacheBuffer: 10000
ScrollBar.vertical: ScrollBar {
id: scrollBar
policy: ScrollBar.AlwaysOn
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/ExportEffectDialog.qml
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/ExportEffectDialog.qml
---
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/ExportEffectDialog.qml
2023-03-28 22:24:23.000000000 +0200
+++
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/ExportEffectDialog.qml
2023-05-16 13:18:52.000000000 +0200
@@ -128,6 +128,7 @@
id: qsbVersionSelector
anchors.verticalCenter: parent.verticalCenter
width: 200
+ currentIndex: 1
model: ["Latest", "Qt 6.5 compatibility", "Qt 6.4 compatibility"]
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/HelpView.qml
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/HelpView.qml
--- old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/HelpView.qml
2023-03-28 22:24:23.000000000 +0200
+++ new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/HelpView.qml
2023-05-16 13:18:52.000000000 +0200
@@ -28,6 +28,12 @@
selectByMouse: true
text: effectManager.getHelpTextString();
font.pixelSize: 14
+ onLinkActivated: (link)=> Qt.openUrlExternally(link)
+ MouseArea {
+ anchors.fill: parent
+ acceptedButtons: Qt.NoButton
+ cursorShape: parent.hoveredLink ? Qt.PointingHandCursor :
Qt.ArrowCursor
+ }
}
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/PropertiesView.qml
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/PropertiesView.qml
---
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/PropertiesView.qml
2023-03-28 22:24:23.000000000 +0200
+++
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/PropertiesView.qml
2023-05-16 13:18:52.000000000 +0200
@@ -259,6 +259,7 @@
propertyEditDialog.initialCustomValue =
model.customValue;
propertyEditDialog.initialUseCustomValue =
model.useCustomValue;
propertyEditDialog.initialEnableMipmap =
model.enableMipmap;
+ propertyEditDialog.initialExportImage =
model.exportImage;
propertyEditDialog.open();
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/PropertyEditDialog.qml
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/PropertyEditDialog.qml
---
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/PropertyEditDialog.qml
2023-03-28 22:24:23.000000000 +0200
+++
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/PropertyEditDialog.qml
2023-05-16 13:18:52.000000000 +0200
@@ -24,6 +24,8 @@
property bool initialUseCustomValue: false
property bool initialEnableMipmap: false // For image properties
property bool enableMipmap: false // For image properties
+ property bool initialExportImage: true
+ property bool exportImage: true
property int selectedNodeId: nodeViewItem.selectedNodeId
readonly property real componentSpacing: 10
@@ -31,7 +33,8 @@
let newRow = -1
if (effectManager.uniformModel.updateRow(selectedNodeId, newRow,
typeComboBox.currentIndex, uniformNameTextInput.text,
rootItem.defaultValue,
descriptionTextArea.text, customValueTextArea.text,
- customValueSwitch.checked,
rootItem.minValue, rootItem.maxValue, rootItem.enableMipmap)) {
+ customValueSwitch.checked,
rootItem.minValue, rootItem.maxValue, rootItem.enableMipmap,
+ rootItem.exportImage)) {
rootItem.close();
}
}
@@ -39,7 +42,8 @@
function updateUniform() {
if (effectManager.uniformModel.updateRow(selectedNodeId,
rootItem.propertyIndex, typeComboBox.currentIndex, uniformNameTextInput.text,
rootItem.defaultValue,
descriptionTextArea.text, customValueTextArea.text,
- customValueSwitch.checked,
rootItem.minValue, rootItem.maxValue, rootItem.enableMipmap)) {
+ customValueSwitch.checked,
rootItem.minValue, rootItem.maxValue, rootItem.enableMipmap,
+ rootItem.exportImage)) {
rootItem.close();
}
}
@@ -64,10 +68,11 @@
if (visible) {
typeComboBox.currentIndex = initialType;
rootItem.enableMipmap = rootItem.initialEnableMipmap;
+ rootItem.exportImage = rootItem.initialExportImage;
if (initialType == 7) {
// When editing an image property, update the correct image
// preview & mipmap status
- valueItemLoader.item.loadSource(initialDefaultValue,
initialEnableMipmap);
+ valueItemLoader.item.loadSource(initialDefaultValue,
initialEnableMipmap, initialExportImage);
}
uniformNameTextInput.text = initialName;
descriptionTextArea.text = initialDescription;
@@ -599,13 +604,15 @@
Component {
id: imageComponent
Column {
- function loadSource(sourceImage, mipmapEnabled) {
+ function loadSource(sourceImage, mipmapEnabled, exportImage) {
previewImage.source = sourceImage ? sourceImage : "";
mipmapCheckBox.checked = mipmapEnabled;
+ exportImageCheckBox.checked = exportImage;
}
+ spacing: -10
Rectangle {
width: 180
- height: 120
+ height: 90
border.width: 1
color: mainView.backgroundColor2
border.color: mainView.foregroundColor1
@@ -655,6 +662,14 @@
}
}
}
+ CheckBox {
+ id: exportImageCheckBox
+ text: "Create QML Image element"
+ checked: rootItem.initialExportImage
+ onToggled: {
+ rootItem.exportImage = checked;
+ }
+ }
FileDialog {
id: textureSourceDialog
title: "Open an Image File"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/about_effect/AboutEffect1.qep
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/about_effect/AboutEffect1.qep
---
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/about_effect/AboutEffect1.qep
2023-03-28 22:24:23.000000000 +0200
+++
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/about_effect/AboutEffect1.qep
2023-05-16 13:18:52.000000000 +0200
@@ -1,5 +1,6 @@
{
"QEP": {
+ "QQEM": "0.43",
"connections": [
{
"fromId": 0,
@@ -26,7 +27,7 @@
"fragmentCode": [
"void main() {",
" fragColor = vec4(0.0);",
- " //nodes",
+ " @nodes",
" fragColor = fragColor * qt_Opacity;",
"}"
],
@@ -38,7 +39,7 @@
" texCoord = qt_MultiTexCoord0;",
" fragCoord = qt_Vertex.xy;",
" vec2 vertCoord = qt_Vertex.xy;",
- " //nodes",
+ " @nodes",
" gl_Position = qt_Matrix * vec4(vertCoord, 0.0, 1.0);",
"}"
],
@@ -55,7 +56,7 @@
{
"description": "This is an empty node for creating custom
effects.",
"fragmentCode": [
- "//main",
+ "@main",
"{",
" vec2 uv = 2.0 * texCoord - vec2(1.0);",
" const vec2 uv0 = uv;",
@@ -95,7 +96,7 @@
" const float s = sin(a);",
" return mat2(c, -s, s, c);",
"}",
- "//main"
+ "@main"
],
"name": "MathHelper",
"nodeId": 3,
@@ -106,7 +107,7 @@
{
"description": "Applies vignette effect to the source, so adds
darkening / color towards the corners.",
"fragmentCode": [
- "//main",
+ "@main",
"{",
" float vigDist = distance(texCoord, vec2(0.5));",
" vec4 vigColor = vec4(vignetteColor.rgb,
smoothstep(vignetteInnerRadius, vignetteOuterRadius, vigDist));",
@@ -147,6 +148,13 @@
"y": 465.3999938964844
}
],
+ "settings": {
+ "headings": [
+ "// Copyright (C) 2022 The Qt Company Ltd.",
+ "// SPDX-License-Identifier: BSD-3-Clause",
+ ""
+ ]
+ },
"version": 1
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/about_effect/AboutEffect1.qml
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/about_effect/AboutEffect1.qml
---
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/about_effect/AboutEffect1.qml
2023-03-28 22:24:23.000000000 +0200
+++
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/about_effect/AboutEffect1.qml
2023-05-16 13:18:52.000000000 +0200
@@ -1,7 +1,7 @@
// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: BSD-3-Clause
-// Created with Qt Quick Effect Maker (version 0.35), Tue Sep 27 13:20:47 2022
+// Created with Qt Quick Effect Maker (version 0.43), Mon Mar 27 11:23:23 2023
import QtQuick
@@ -22,18 +22,17 @@
FrameAnimation {
id: frameAnimation
- running: timeRunning
+ running: rootItem.timeRunning
}
ShaderEffect {
- readonly property real iTime: animatedTime
- readonly property color vignetteColor: parent.vignetteColor
- readonly property real vignetteInnerRadius: parent.vignetteInnerRadius
- readonly property real vignetteOuterRadius: parent.vignetteOuterRadius
+ readonly property alias iTime: rootItem.animatedTime
+ readonly property alias vignetteColor: rootItem.vignetteColor
+ readonly property alias vignetteInnerRadius:
rootItem.vignetteInnerRadius
+ readonly property alias vignetteOuterRadius:
rootItem.vignetteOuterRadius
vertexShader: 'abouteffect1.vert.qsb'
fragmentShader: 'abouteffect1.frag.qsb'
- width: parent.width
- height: parent.height
+ anchors.fill: parent
}
}
Binary files
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/about_effect/abouteffect1.frag.qsb
and
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/about_effect/abouteffect1.frag.qsb
differ
Binary files
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/about_effect/abouteffect1.vert.qsb
and
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/about_effect/abouteffect1.vert.qsb
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/main.qml
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/main.qml
--- old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qml/main.qml
2023-03-28 22:24:23.000000000 +0200
+++ new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qml/main.qml
2023-05-16 13:18:52.000000000 +0200
@@ -504,6 +504,7 @@
propertyEditDialog.initialUseCustomValue = false;
propertyEditDialog.initialCustomValue = "";
propertyEditDialog.initialEnableMipmap = false;
+ propertyEditDialog.initialExportImage = true;
propertyEditDialog.open();
}
Binary files old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qqem.icns
and new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qqem.icns differ
Binary files old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qqem.ico
and new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qqem.ico differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qqem_help.html
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qqem_help.html
--- old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/qqem_help.html
2023-03-28 22:24:23.000000000 +0200
+++ new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/qqem_help.html
2023-05-16 13:18:52.000000000 +0200
@@ -42,9 +42,10 @@
</table>
<br>
<h2>Porting shadertoy shaders</h2>
-Shadertoy (https://www.shadertoy.com) is very popular website for creating and
sharing shader effects. Here are few tips for porting those shaders into Qt
Quick Effect Maker:
+Shadertoy (<a href="https://shadertoy.com">https://shadertoy.com</a>) is very
popular website for creating and sharing shader effects. Here are few tips for
porting those shaders into Qt Quick Effect Maker:
<ul>
-<li>Shadertoy shaders contain main entry as something like "void mainImage(
... ) { ... }". Replace that with the main tag "//main" and either remove the
'{' and '}' or keep them in separate lines to have the shader code in its own
scope.</li>
+<li>Create a new Custom (empty) node for the Shadertoy effect.</li>
+<li>Shadertoy shaders contain main entry as something like "void mainImage(
... ) { ... }". Replace that with the main tag "@main" and either remove the
'{' and '}' or keep them in separate lines to have the shader code in its own
scope.</li>
<li>Not all features of Shadertoy are supported. Effects with multipass
("Buffer" tabs) can't be done with effect maker, you must build them separately
and bind the output of the buffer ShaderEffect to the source of the next
ShaderEffect. Also audio, cubemaps and 3D textures are not supported.</li>
<li>Shadertoy only supports fragment shaders and built-in textures. To improve
the performance of the effect with QQEM you can move some calculations into
vertex shader and use custom images to simplify fragment shader.</li>
<li>Coordinate system between Qt and Shadereffect differs so that Qt has
origin (0,0) in top-left corner while Shadertoy and OpenGL use bottom-left
corner. If this is important for the effect, consider flipping the y-coordinate
in a suitable way. For example to flip fragCoord in Main node switch to:
"fragCoord = vec2(qt_Vertex.x, iResolution.y - qt_Vertex.y)". Similarly you may
need to adjust texCoord and iMouse.</li>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/syntaxhighlighter.cpp
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/syntaxhighlighter.cpp
---
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/syntaxhighlighter.cpp
2023-03-28 22:24:23.000000000 +0200
+++
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/syntaxhighlighter.cpp
2023-05-16 13:18:52.000000000 +0200
@@ -206,6 +206,7 @@
// Dummy version without glslparser dependency
void SyntaxHighlighter::highlightBlock(const QString &text)
{
+ Q_UNUSED(text)
}
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/uniformmodel.cpp
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/uniformmodel.cpp
--- old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/uniformmodel.cpp
2023-03-28 22:24:23.000000000 +0200
+++ new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/uniformmodel.cpp
2023-05-16 13:18:52.000000000 +0200
@@ -141,6 +141,8 @@
return QVariant::fromValue(uniform.canMoveDown);
} else if (role == EnableMipmap) {
return QVariant::fromValue(uniform.enableMipmap);
+ } else if (role == ExportImage) {
+ return QVariant::fromValue(uniform.exportImage);
}
return QVariant();
@@ -164,6 +166,7 @@
roles[CanMoveUp] = "canMoveUp";
roles[CanMoveDown] = "canMoveDown";
roles[EnableMipmap] = "enableMipmap";
+ roles[ExportImage] = "exportImage";
return roles;
}
@@ -255,6 +258,8 @@
uniform.canMoveDown = value.toBool();
} else if (role == EnableMipmap) {
uniform.enableMipmap = value.toBool();
+ } else if (role == ExportImage) {
+ uniform.exportImage = value.toBool();
}
if (role == Value) {
@@ -316,7 +321,7 @@
bool UniformModel::updateRow(int nodeId, int rowIndex, int type, const QString
&id,
const QVariant &defaultValue, const QString
&description, const QString &customValue,
bool useCustomValue, const QVariant &minValue,
const QVariant &maxValue,
- bool enableMipmap)
+ bool enableMipmap, bool exportImage)
{
if (m_uniformTable == nullptr)
return false;
@@ -351,6 +356,7 @@
uniform.customValue = customValue;
uniform.useCustomValue = useCustomValue;
uniform.enableMipmap = enableMipmap;
+ uniform.exportImage = exportImage;
switch (uniform.type) {
case Uniform::Type::Bool:
uniform.defaultValue = defaultValue;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/uniformmodel.h
new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/uniformmodel.h
--- old/qtquickeffectmaker-everywhere-src-6.5.0/tools/qqem/uniformmodel.h
2023-03-28 22:24:23.000000000 +0200
+++ new/qtquickeffectmaker-everywhere-src-6.5.1/tools/qqem/uniformmodel.h
2023-05-16 13:18:52.000000000 +0200
@@ -45,6 +45,7 @@
bool canMoveUp = false;
bool canMoveDown = false;
bool enableMipmap = false;
+ bool exportImage = true;
// The effect node which owns this uniform
int nodeId = -1;
bool operator==(const Uniform& rhs) const noexcept
@@ -70,7 +71,8 @@
ExportProperty,
CanMoveUp,
CanMoveDown,
- EnableMipmap
+ EnableMipmap,
+ ExportImage
};
explicit UniformModel(QObject *parent = nullptr);
@@ -94,7 +96,7 @@
Q_INVOKABLE bool updateRow(int nodeId, int rowIndex, int type, const
QString &id,
const QVariant &defaultValue, const QString
&description, const QString &customValue,
bool useCustomValue, const QVariant &minValue,
const QVariant &maxValue,
- bool enableMipmap);
+ bool enableMipmap, bool exportImage);
Q_INVOKABLE void removeRow(int rowIndex, int rows = 1);
Q_INVOKABLE bool resetValue(int rowIndex);
Q_INVOKABLE bool setImage(int rowIndex, const QVariant &value);