diff --git a/tests/auto/quick3d_lancelot/data/Ignore b/tests/auto/quick3d_lancelot/data/Ignore
index ad93e3f4f743472b6ddb7c95070e5525537aa6f6..38cc43f9c2329593d1f79cbe478476f8305e5fca 100644
--- a/tests/auto/quick3d_lancelot/data/Ignore
+++ b/tests/auto/quick3d_lancelot/data/Ignore
@@ -15,3 +15,4 @@ lighting/materials/Material.qml
 
 # Dynamic component
 quick/Component.qml
+defaultmaterial/BlendComponent.qml
diff --git a/tests/auto/quick3d_lancelot/data/defaultmaterial/BlendComponent.qml b/tests/auto/quick3d_lancelot/data/defaultmaterial/BlendComponent.qml
new file mode 100644
index 0000000000000000000000000000000000000000..481e911e4f829cfcf2504ea1476f7382bba6a33d
--- /dev/null
+++ b/tests/auto/quick3d_lancelot/data/defaultmaterial/BlendComponent.qml
@@ -0,0 +1,100 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the tests of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of The Qt Company Ltd nor the names of its
+**     contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick3D 1.15
+import QtQuick 2.15
+
+Node {
+    id: componentRoot
+
+    property var blendMode: DefaultMaterial.Screen
+
+    Model {
+        position: Qt.vector3d(-10, -10, 0)
+        scale: Qt.vector3d(2,2,0.05)
+        opacity: 0.5
+        source: "#Cube"
+        materials: DefaultMaterial {
+            blendMode: componentRoot.blendMode
+            diffuseColor: Qt.rgba(1.0, 0.0, 0.0, 1)
+        }
+    }
+    Model {
+        position: Qt.vector3d(10, 10, 10)
+        scale: Qt.vector3d(2,2,0.05)
+        opacity: 0.5
+        source: "#Cube"
+        materials: DefaultMaterial {
+            blendMode: componentRoot.blendMode
+            diffuseColor: Qt.rgba(0.0, 1.0, 0.0, 1)
+        }
+    }
+    Model {
+        id: cone
+        position: Qt.vector3d(-30, 30, 50)
+        scale: Qt.vector3d(1,1,1)
+        source: "#Cone"
+        materials: DefaultMaterial {
+            blendMode: componentRoot.blendMode
+            diffuseColor: Qt.rgba(0.0, 0.0, 1.0, 1)
+        }
+    }
+    Model {
+        id: cylinder
+        position: Qt.vector3d(30, -30, 100)
+        scale: Qt.vector3d(1,1,1)
+        opacity: 0.5
+        source: "#Cylinder"
+        materials: DefaultMaterial {
+            blendMode: componentRoot.blendMode
+            diffuseColor: Qt.rgba(0.0, 1.0, 1.0, 1)
+        }
+    }
+}
diff --git a/tests/auto/quick3d_lancelot/data/defaultmaterial/Defaultmaterial_normal.qml b/tests/auto/quick3d_lancelot/data/defaultmaterial/BlendModes.qml
similarity index 51%
rename from tests/auto/quick3d_lancelot/data/defaultmaterial/Defaultmaterial_normal.qml
rename to tests/auto/quick3d_lancelot/data/defaultmaterial/BlendModes.qml
index d2c04d8da318929d338f3b98ec6a3f37aa418cd8..9727d441543130541348d8cdde21ceed0689e827 100644
--- a/tests/auto/quick3d_lancelot/data/defaultmaterial/Defaultmaterial_normal.qml
+++ b/tests/auto/quick3d_lancelot/data/defaultmaterial/BlendModes.qml
@@ -1,6 +1,6 @@
 /****************************************************************************
 **
-** Copyright (C) 2019 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
 ** Contact: https://www.qt.io/licensing/
 **
 ** This file is part of the tests of the Qt Toolkit.
@@ -52,19 +52,27 @@ import QtQuick3D 1.15
 import QtQuick 2.15
 
 Rectangle {
-    id: defaultmaterial_normal
+    id: defaultmaterial_screen
+
+    property var blendModesModel: [
+        DefaultMaterial.SourceOver,
+        DefaultMaterial.Screen,
+        DefaultMaterial.Multiply,
+        DefaultMaterial.Overlay,
+        DefaultMaterial.ColorBurn,
+        DefaultMaterial.ColorDodge
+    ]
+    property int itemsWidth: 800
+    property int itemsHeight: 400
+    property int modelSeparation: itemsWidth / (blendModesModel.length - 1)
+
     width: 800
     height: 480
-    color: Qt.rgba(0.929412, 0.956863, 0.34902, 1)
+    color: "white"
 
     View3D {
         id: layer
-        anchors.left: parent.left
-        anchors.leftMargin: parent.width * 0
-        width: parent.width * 1
-        anchors.top: parent.top
-        anchors.topMargin: parent.height * 0
-        height: parent.height * 1
+        anchors.fill: parent
         environment: SceneEnvironment {
             clearColor: Qt.rgba(0, 0, 0, 1)
             aoDither: true
@@ -73,84 +81,37 @@ Rectangle {
 
         PerspectiveCamera {
             id: camera
-            position: Qt.vector3d(0, -40, 600)
-            rotation: Quaternion.fromEulerAngles(10, 0, -10)
+            position: Qt.vector3d(0, 0, 800)
             clipFar: 5000
         }
 
         DirectionalLight {
-            id: light
-            shadowFactor: 10
-        }
-
-        Model {
-            id: sphere
-            position: Qt.vector3d(-479.719, 208.826, -220.558)
-            rotation: Quaternion.fromEulerAngles(20.8358, -34.3489, -62.5045)
-            opacity: 0.5
-            source: "#Sphere"
-            
-            
-
-            DefaultMaterial {
-                id: material_001
-                lighting: DefaultMaterial.FragmentLighting
-                diffuseColor: Qt.rgba(0.341176, 0.258824, 0.8, 1)
-                indexOfRefraction: 1.5
-                specularAmount: 0
-                specularRoughness: 0
-                opacity: 0.8
-                bumpAmount: 0.5
-                translucentFalloff: 1
-                displacementAmount: 20
-            }
-            materials: [material_001]
         }
 
-        Model {
-            id: cylinder
-            position: Qt.vector3d(211.66, 54.7973, 123.049)
-            rotation: Quaternion.fromEulerAngles(29.16, -22.9975, -41.0578)
-            scale: Qt.vector3d(0.89855, 0.969231, 1)
-            opacity: 0.5
-            source: "#Cylinder"
-            
-            
-
-            DefaultMaterial {
-                id: material_002
-                lighting: DefaultMaterial.FragmentLighting
-                diffuseColor: Qt.rgba(0.215686, 0.815686, 0.756863, 1)
-                indexOfRefraction: 1.5
-                specularAmount: 0
-                specularRoughness: 0
-                bumpAmount: 0.5
-                translucentFalloff: 1
-                displacementAmount: 20
-            }
-            materials: [material_002]
-        }
-
-        Model {
-            id: cone
-            rotation: Quaternion.fromEulerAngles(-47.4815, 2.69907, 11.9215)
-            source: "#Cone"
-            
-            
-
-            DefaultMaterial {
-                id: material_003
-                lighting: DefaultMaterial.FragmentLighting
-                diffuseColor: Qt.rgba(0.890196, 0.341176, 0.615686, 1)
-                indexOfRefraction: 1.5
-                specularAmount: 0
-                specularRoughness: 0
-                opacity: 0.5
-                bumpAmount: 0.5
-                translucentFalloff: 1
-                displacementAmount: 20
+        Repeater3D {
+            model: blendModesModel.length
+            Node {
+                x: -itemsWidth / 2 + index * modelSeparation
+                y: -itemsHeight / 2 + index % 2 * itemsHeight
+                BlendComponent {
+                    id: modeComponent
+                    blendMode: blendModesModel[index]
+                }
+                Node {
+                    z: 200
+                    Rectangle {
+                        color: "white"
+                        width: textItem.width + 20
+                        height: textItem.height + 10
+                    }
+                    Text {
+                        id: textItem
+                        font.pixelSize: 20
+                        color: "black"
+                        text: "blendMode:" + modeComponent.blendMode
+                    }
+                }
             }
-            materials: [material_003]
         }
     }
 }
diff --git a/tests/auto/quick3d_lancelot/data/defaultmaterial/Defaultmaterial_multiply.qml b/tests/auto/quick3d_lancelot/data/defaultmaterial/Defaultmaterial_multiply.qml
deleted file mode 100644
index f1c906b6cb5bdfc16112a50c3ff2ea905fb1294d..0000000000000000000000000000000000000000
--- a/tests/auto/quick3d_lancelot/data/defaultmaterial/Defaultmaterial_multiply.qml
+++ /dev/null
@@ -1,159 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the tests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of The Qt Company Ltd nor the names of its
-**     contributors may be used to endorse or promote products derived
-**     from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick3D 1.15
-import QtQuick 2.15
-
-Rectangle {
-    id: defaultmaterial_multiply
-    width: 800
-    height: 480
-    color: Qt.rgba(0.929412, 0.956863, 0.34902, 1)
-
-    View3D {
-        id: layer
-        anchors.left: parent.left
-        anchors.leftMargin: parent.width * 0
-        width: parent.width * 1
-        anchors.top: parent.top
-        anchors.topMargin: parent.height * 0
-        height: parent.height * 1
-        environment: SceneEnvironment {
-            clearColor: Qt.rgba(0, 0, 0, 1)
-            aoDither: true
-            depthPrePassEnabled: true
-        }
-
-        PerspectiveCamera {
-            id: camera
-            position: Qt.vector3d(0, -40, 600)
-            rotation: Quaternion.fromEulerAngles(10, 0, -10)
-            clipFar: 5000
-        }
-
-        DirectionalLight {
-            id: light
-            shadowFactor: 10
-        }
-
-        Model {
-            id: sphere
-            position: Qt.vector3d(-479.719, 208.826, -220.558)
-            rotation: Quaternion.fromEulerAngles(20.8358, -34.3489, -62.5045)
-            opacity: 0.5
-            source: "#Sphere"
-            
-            
-
-            DefaultMaterial {
-                id: material_001
-                lighting: DefaultMaterial.FragmentLighting
-                blendMode: DefaultMaterial.Multiply
-                diffuseColor: Qt.rgba(0.341176, 0.258824, 0.8, 1)
-                indexOfRefraction: 1.5
-                specularAmount: 0
-                specularRoughness: 0
-                opacity: 0.8
-                bumpAmount: 0.5
-                translucentFalloff: 1
-                displacementAmount: 20
-            }
-            materials: [material_001]
-        }
-
-        Model {
-            id: cylinder
-            position: Qt.vector3d(211.66, 54.7973, 123.049)
-            rotation: Quaternion.fromEulerAngles(29.16, -22.9975, -41.0578)
-            scale: Qt.vector3d(0.89855, 0.969231, 1)
-            opacity: 0.5
-            source: "#Cylinder"
-            
-            
-
-            DefaultMaterial {
-                id: material_002
-                lighting: DefaultMaterial.FragmentLighting
-                blendMode: DefaultMaterial.Multiply
-                diffuseColor: Qt.rgba(0.215686, 0.815686, 0.756863, 1)
-                indexOfRefraction: 1.5
-                specularAmount: 0
-                specularRoughness: 0
-                bumpAmount: 0.5
-                translucentFalloff: 1
-                displacementAmount: 20
-            }
-            materials: [material_002]
-        }
-
-        Model {
-            id: cone
-            rotation: Quaternion.fromEulerAngles(47.4815, -2.69907, 11.9215)
-            source: "#Cone"
-            
-            
-
-            DefaultMaterial {
-                id: material_003
-                lighting: DefaultMaterial.FragmentLighting
-                blendMode: DefaultMaterial.Multiply
-                diffuseColor: Qt.rgba(0.890196, 0.341176, 0.615686, 1)
-                indexOfRefraction: 1.5
-                specularAmount: 0
-                specularRoughness: 0
-                opacity: 0.5
-                bumpAmount: 0.5
-                translucentFalloff: 1
-                displacementAmount: 20
-            }
-            materials: [material_003]
-        }
-    }
-}
diff --git a/tests/auto/quick3d_lancelot/data/defaultmaterial/Defaultmaterial_screen.qml b/tests/auto/quick3d_lancelot/data/defaultmaterial/Defaultmaterial_screen.qml
deleted file mode 100644
index ad0424e0b4c1f0c35e02964e09695610c807e05f..0000000000000000000000000000000000000000
--- a/tests/auto/quick3d_lancelot/data/defaultmaterial/Defaultmaterial_screen.qml
+++ /dev/null
@@ -1,159 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the tests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of The Qt Company Ltd nor the names of its
-**     contributors may be used to endorse or promote products derived
-**     from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick3D 1.15
-import QtQuick 2.15
-
-Rectangle {
-    id: defaultmaterial_screen
-    width: 800
-    height: 480
-    color: Qt.rgba(0.929412, 0.956863, 0.34902, 1)
-
-    View3D {
-        id: layer
-        anchors.left: parent.left
-        anchors.leftMargin: parent.width * 0
-        width: parent.width * 1
-        anchors.top: parent.top
-        anchors.topMargin: parent.height * 0
-        height: parent.height * 1
-        environment: SceneEnvironment {
-            clearColor: Qt.rgba(0, 0, 0, 1)
-            aoDither: true
-            depthPrePassEnabled: true
-        }
-
-        PerspectiveCamera {
-            id: camera
-            position: Qt.vector3d(0, -40, 600)
-            rotation: Quaternion.fromEulerAngles(10, 0, -10)
-            clipFar: 5000
-        }
-
-        DirectionalLight {
-            id: light
-            shadowFactor: 10
-        }
-
-        Model {
-            id: sphere
-            position: Qt.vector3d(-479.719, 208.826, -220.558)
-            rotation: Quaternion.fromEulerAngles(20.8358, -34.3489, -62.5045)
-            opacity: 0.5
-            source: "#Sphere"
-            
-            
-
-            DefaultMaterial {
-                id: material_001
-                lighting: DefaultMaterial.FragmentLighting
-                blendMode: DefaultMaterial.Screen
-                diffuseColor: Qt.rgba(0.341176, 0.258824, 0.8, 1)
-                indexOfRefraction: 1.5
-                specularAmount: 0
-                specularRoughness: 0
-                opacity: 0.8
-                bumpAmount: 0.5
-                translucentFalloff: 1
-                displacementAmount: 20
-            }
-            materials: [material_001]
-        }
-
-        Model {
-            id: cylinder
-            position: Qt.vector3d(211.66, 54.7973, 123.049)
-            rotation: Quaternion.fromEulerAngles(29.16, -22.9975, -41.0578)
-            scale: Qt.vector3d(0.89855, 0.969231, 1)
-            opacity: 0.5
-            source: "#Cylinder"
-            
-            
-
-            DefaultMaterial {
-                id: material_002
-                lighting: DefaultMaterial.FragmentLighting
-                blendMode: DefaultMaterial.Screen
-                diffuseColor: Qt.rgba(0.215686, 0.815686, 0.756863, 1)
-                indexOfRefraction: 1.5
-                specularAmount: 0
-                specularRoughness: 0
-                bumpAmount: 0.5
-                translucentFalloff: 1
-                displacementAmount: 20
-            }
-            materials: [material_002]
-        }
-
-        Model {
-            id: cone
-            rotation: Quaternion.fromEulerAngles(-47.4815, 2.69907, 11.9215)
-            source: "#Cone"
-            
-            
-
-            DefaultMaterial {
-                id: material_003
-                lighting: DefaultMaterial.FragmentLighting
-                blendMode: DefaultMaterial.Screen
-                diffuseColor: Qt.rgba(0.890196, 0.341176, 0.615686, 1)
-                indexOfRefraction: 1.5
-                specularAmount: 0
-                specularRoughness: 0
-                opacity: 0.5
-                bumpAmount: 0.5
-                translucentFalloff: 1
-                displacementAmount: 20
-            }
-            materials: [material_003]
-        }
-    }
-}