From ed4704e0b4d14dd824327f1346f1f98052d66a9f Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 1 Sep 2020 16:50:44 +0200 Subject: [PATCH] Doc: Describe creating custom effects and materials MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ...using Qt Quick 3D custom shader utilities and commands Fixes: QDS-2613 Change-Id: I5807c1617d2b54b3fba183c1278ec1266f899c70 Reviewed-by: Tomi Korpipää Reviewed-by: Johanna Vanhatapio Reviewed-by: Mahmoud Badri --- doc/qtcreator/src/qtcreator-toc.qdoc | 1 + ...dio-qtquick-3d-custom-effect-navigator.png | Bin 0 -> 7395 bytes .../studio-qtquick-3d-custom-effect.png | Bin 0 -> 6787 bytes ...o-qtquick-3d-custom-material-navigator.png | Bin 0 -> 10713 bytes .../studio-qtquick-3d-custom-material.png | Bin 0 -> 27897 bytes .../images/studio-qtquick-3d-pass.png | Bin 0 -> 10916 bytes .../images/studio-qtquick-3d-shader-info.png | Bin 0 -> 10355 bytes .../studio-qtquick-3d-shader-properties.png | Bin 0 -> 10855 bytes .../studio-qtquick-3d-shader-utilities.png | Bin 0 -> 11054 bytes .../src/qtdesignstudio-toc.qdoc | 1 + .../qtdesignstudio-3d-components.qdoc | 8 +- ...ignstudio-3d-custom-effects-materials.qdoc | 163 ++++++++++++++++++ .../qtdesignstudio-3d-custom-shaders.qdoc | 2 +- .../qtdesignstudio-3d-effects.qdoc | 3 + .../qtdesignstudio-3d-lights.qdoc | 2 +- .../qtdesignstudio-3d-materials-shaders.qdoc | 31 +--- 16 files changed, 180 insertions(+), 31 deletions(-) create mode 100644 doc/qtdesignstudio/images/studio-qtquick-3d-custom-effect-navigator.png create mode 100644 doc/qtdesignstudio/images/studio-qtquick-3d-custom-effect.png create mode 100644 doc/qtdesignstudio/images/studio-qtquick-3d-custom-material-navigator.png create mode 100644 doc/qtdesignstudio/images/studio-qtquick-3d-custom-material.png create mode 100644 doc/qtdesignstudio/images/studio-qtquick-3d-pass.png create mode 100644 doc/qtdesignstudio/images/studio-qtquick-3d-shader-info.png create mode 100644 doc/qtdesignstudio/images/studio-qtquick-3d-shader-properties.png create mode 100644 doc/qtdesignstudio/images/studio-qtquick-3d-shader-utilities.png create mode 100644 doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-effects-materials.qdoc diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc index 269d6c7a122..8b3f1efa241 100644 --- a/doc/qtcreator/src/qtcreator-toc.qdoc +++ b/doc/qtcreator/src/qtcreator-toc.qdoc @@ -139,6 +139,7 @@ \li \l{Using 3D Materials} \li \l{Applying 3D Effects} \li \l{Using Custom Shaders} + \li \l{Creating Custom Effects and Materials} \li \l{Using Lights} \li \l{Using Scene Camera} \li \l{Setting Scene Environment} diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-custom-effect-navigator.png b/doc/qtdesignstudio/images/studio-qtquick-3d-custom-effect-navigator.png new file mode 100644 index 0000000000000000000000000000000000000000..be1814c66ec06dd48c1fc68f8e7d7286f6705053 GIT binary patch literal 7395 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 KKbLh*2~7Y&Q4DAR literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-custom-effect.png b/doc/qtdesignstudio/images/studio-qtquick-3d-custom-effect.png new file mode 100644 index 0000000000000000000000000000000000000000..c430657dae443dfe02574df07059ff74a5b3a53a GIT binary patch literal 6787 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 Y*RP!6DB%5-fq{X+)78&qol`;+0LW%{+5i9m literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-custom-material-navigator.png b/doc/qtdesignstudio/images/studio-qtquick-3d-custom-material-navigator.png new file mode 100644 index 0000000000000000000000000000000000000000..43131421afedb0789320acc15b01f990c07e4f91 GIT binary patch literal 10713 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 literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-custom-material.png b/doc/qtdesignstudio/images/studio-qtquick-3d-custom-material.png new file mode 100644 index 0000000000000000000000000000000000000000..a6499d990dedd9e08f9d827ceb052a0d9efc4ea2 GIT binary patch literal 27897 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 B`Huhq literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-pass.png b/doc/qtdesignstudio/images/studio-qtquick-3d-pass.png new file mode 100644 index 0000000000000000000000000000000000000000..572ff78a086480d8b267ccae61d68179852c28ff GIT binary patch literal 10916 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 literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-shader-info.png b/doc/qtdesignstudio/images/studio-qtquick-3d-shader-info.png new file mode 100644 index 0000000000000000000000000000000000000000..7e1667f16d6d63f2984ec55a2b4f3e43a4a07aeb GIT binary patch literal 10355 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 dCQ$hQ$v75dB&}mKcO>!X63V)=WX7f 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 literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc index 1bf80045c79..4a0edda2efd 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc @@ -109,6 +109,7 @@ \li \l{Attaching Textures to Materials} \li \l{Applying 3D Effects} \li \l{Using Custom Shaders} + \li \l{Creating Custom Effects and Materials} \li \l{Using Lights} \li \l{Using Scene Camera} \li \l{Setting Scene Environment} diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc index b9b463c52e0..157d0934c0f 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc @@ -72,7 +72,13 @@ You can use 3D shader utilities to construct your own effects and materials. - \li \l {Using Lights} + \li \l{Creating Custom Effects and Materials} + + If the ready-made 3D effects and materials don't meet your needs, + you can use 3D shader utilities to construct your own effects and + materials. + + \li \l{Using Lights} You can use several light types as the source of lighting in a scene and set their properties. diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-effects-materials.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-effects-materials.qdoc new file mode 100644 index 00000000000..b5d03d9fb90 --- /dev/null +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-effects-materials.qdoc @@ -0,0 +1,163 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Design Studio. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \page studio-3d-custom-effects-materials.html + \previouspage studio-3d-custom-shaders.html + \nextpage studio-3d-lights.html + + \title Creating Custom Effects and Materials + + You can use the QML types in the \uicontrol {Qt Quick 3D Custom Shader Utils} + tab of \uicontrol Library to create custom effects and materials. To make + the \uicontrol Effect and \uicontrol {Custom Material} types appear in the + tab, you must select \uicontrol {Add Import} in the \uicontrol {QML Imports} + tab, and then select \uicontrol QtQuick3D.Effects and + \uicontrol QtQuick3D.Materials to import the QML types in the + \l{Qt Quick 3D Effects QML Types}{Qt Quick 3D Effects} and + \l{Qt Quick 3D Materials QML Types}{Qt Quick 3D Materials} modules to your + project. These modules contain a set of ready-made effects and materials + that you can apply to 3D models. + + For more information about the shader utilities and commands and their + properties, see \l {Using Custom Shaders}. + + \image studio-qtquick-3d-shader-utilities.png "Qt Quick 3D Custom Shader Utils tab in Library" + + \note You must create the actual shader source files with some other tool + and copy them to your project folder. You can then specify the source file + names in the custom effect or material properties. + + \section1 Creating Custom Effects + + By default, a custom effect component contains a Pass type and a Shader + type in the fragment stage. You can add passes, shaders, and other shader + utilities to the effect. + + \image studio-qtquick-3d-custom-effect-navigator.png "Custom effect in Navigator" + + The fragment shader component is created with a placeholder for the path + to the shader file. Specify the path to the shader file to use in the + shader properties. + + To create a custom effect: + + \list 1 + \li Drag and drop an \uicontrol {Effect} type from the + \uicontrol {Qt Quick 3D Custom Shader Utils} tab of + \uicontrol Library to a Model component in \uicontrol Navigator. + \li Select the custom effect component in \uicontrol Navigator to edit + the values of its properties in the \uicontrol Properties view. + \image studio-qtquick-3d-custom-effect.png "Custom effect properties" + \li In the \uicontrol Passes field, select the pass components for + the effect. + \li Select the pass component in \uicontrol Navigator to specify values + for its properties in \uicontrol Properties. + \image studio-qtquick-3d-pass.png "Pass properties" + \li To execute commands during the pass, drag and drop the following + command types from \uicontrol Library to the custom material in + \uicontrol Navigator: \uicontrol Blending, \uicontrol {Buffer Blit}, + \uicontrol {Buffer Input}, \uicontrol {Cull Mode}, + \uicontrol {Depth Input}, \uicontrol {Render State}, and + \uicontrol {Set Uniform Value}. Then select the commands in the + \uicontrol Commands field. + \li To allocate a buffer for the pass, drag and drop a \uicontrol Buffer + type to the custom material. Then select the buffer in the + \uicontrol Buffer field. + \li Select the shader component in \uicontrol Navigator to set the path + to the shader files in the \uicontrol Source field in + \uicontrol Properties. + \image studio-qtquick-3d-shader-properties.png "Shader properties" + \endlist + + \section1 Creating Custom Materials + + By default, a Custom Material component contains two Shader types, a Shader + Info type, and a Pass type. You can add shaders, passes, and other shader + utilities to the material. + + \image studio-qtquick-3d-custom-material-navigator.png "Custom material in Navigator" + + By default, fragment and vertex shaders are created with placeholders for + the paths to the shader files. Specify the paths to the shader files to use + in the shader properties. + + The Shader Info type specifies the shader type and version, as well + as the options used by the shader based on the selected shader key values, + such as diffuse or specular lighting, refraction, transparency, displacement, + transmissiveness, glossiness, and alpha cutout. + + The shaders are used with the Pass type to create the resulting material. + A pass can contain multiple rendering passes and other commands. You can + use a Buffer type to allocate a buffer for storing intermediate rendering + results. + + To create a custom material: + + \list 1 + \li Drag and drop a \uicontrol {Custom Material} type from the + \uicontrol {Qt Quick 3D Custom Shader Utils} tab of + \uicontrol Library to a Model component in \uicontrol Navigator. + \li Select the custom material component in \uicontrol Navigator to + edit the values of its properties in the \uicontrol Properties view. + \image studio-qtquick-3d-custom-material.png "Custom material properties" + \li Select the \uicontrol Transparency check box to make the material + transparent. + \li Select the \uicontrol Refraction check box to specify that the + material is \l{Using Highlights and Reflections}{reflective}. + \li Select the \uicontrol {Always dirty} check box to determine that + the material needs to be refreshed every time it is used. + \li In the \uicontrol {Shader Info} field, select the shader info + type to use. + \li In the \uicontrol Passes field, select the pass components for + the effect. + \li In the \uicontrol Material group, select the + \l{Using Highlights and Reflections}{light probe}, + \l{Simulating Geometry Displacement}{displacement map and amount}, + and \l{Culling Faces}{culling mode} to use. + \li Select the shader info component in \uicontrol Navigator to specify + values for its properties in \uicontrol Properties. + \image studio-qtquick-3d-shader-info.png "Shader Info properties" + \li Select the pass component in \uicontrol Navigator to specify values + for its properties in \uicontrol Properties. + \image studio-qtquick-3d-pass.png "Pass properties" + \li To execute commands during the pass, drag and drop the following + command types from \uicontrol Library to the custom material in + \uicontrol Navigator: \uicontrol Blending, \uicontrol {Buffer Blit}, + \uicontrol {Buffer Input}, \uicontrol {Cull Mode}, + \uicontrol {Depth Input}, \uicontrol {Render State}, and + \uicontrol {Set Uniform Value}. Then select the commands in the + \uicontrol Commands field. + \li To allocate a buffer for the pass, drag and drop a \uicontrol Buffer + type to the custom material. Then select the buffer in the + \uicontrol Buffer field. + \li Select the shader components in \uicontrol Navigator to set the + paths to the shader files in the \uicontrol Source field in + \uicontrol Properties. + \image studio-qtquick-3d-shader-properties.png "Shader properties" + \endlist +*/ diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-shaders.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-shaders.qdoc index 27c6c5fc1c0..2232020c60c 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-shaders.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-shaders.qdoc @@ -28,7 +28,7 @@ /*! \page studio-3d-custom-shaders.html \previouspage studio-3d-effects.html - \nextpage studio-3d-lights.html + \nextpage studio-3d-custom-effects-materials.html \title Using Custom Shaders diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-effects.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-effects.qdoc index 6ff97946a5e..a1839cca56a 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-effects.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-effects.qdoc @@ -44,6 +44,9 @@ See the following table for available effects and example images. + For more information about creating your own effects, see + \l {Creating Custom Effects and Materials}. + \section1 Available Effects \table \header diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-lights.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-lights.qdoc index 8a1737c0c34..555bf9d91b9 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-lights.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-lights.qdoc @@ -27,7 +27,7 @@ /*! \page studio-3d-lights.html - \previouspage studio-3d-custom-shaders.html + \previouspage studio-3d-custom-effects-materials.html \nextpage studio-3d-camera.html \title Using Lights diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials-shaders.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials-shaders.qdoc index 54873e84d50..f198f2d93fa 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials-shaders.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials-shaders.qdoc @@ -3,7 +3,7 @@ ** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** -** This file is part of Qt Desing Studio. +** This file is part of Qt Design Studio. ** ** $QT_BEGIN_LICENSE:FDL$ ** Commercial License Usage @@ -48,7 +48,7 @@ \list \li Default material \li Principled material - \li Custom material + \li \l{Creating Custom Effects and Materials}{Custom material} \li Texture \endlist @@ -56,8 +56,7 @@ material to define how the mesh is shaded. The DefaultMaterial component is the easiest way to define such a material. The PrincipledMaterial component specifies the minimum amount of properties. The CustomMaterial - component enables you to access the Qt Quick 3D material library and - to implement your own materials. + component enables you to construct your own materials. You can use the \l Texture component to apply textures to materials. It defines an image and how the image is mapped to meshes in a 3D scene. For @@ -219,30 +218,6 @@ is not rendered. Culling makes rendering objects quicker and more efficient by reducing the number of polygons to draw. - \section1 Creating Custom Materials - - The material uses a Shader component to specify shader source and shader - stage. These are used with the \uicontrol passes property to create the - resulting material. The passes can contain multiple rendering passes and - also other commands. - - Normally, only the fragment shader needs to be specified as a value for - the \uicontrol passes property. The material library generates the vertex - shader for the material. The material can also create buffers to store - intermediate rendering results. - - The \uicontrol shaderInfo property specifies settings for the shader. - - To specify that the material state is always dirty, which indicates that - the material needs to be refreshed every time it is used, select the - \uicontrol alwaysDirty check box. - - To specify that the material has refraction, select the - \uicontrol hasRefraction check box. - - To specify that the material has transparency, select the - \uicontrol hasTransparency check box. - \section1 Applying Materials to Models To apply materials to models: