InstanceList QML Type

Allows manually specifying instancing in QML. More...

Import Statement: import QtQuick3D
Inherits:

Instancing

Properties

  • instances : List<QtQuick3D::InstanceListEntry>

Detailed Description

The InstanceList type makes it possible to define an instance table manually in QML.

The following example creates an instance table with two items:

InstanceList {
    id: manualInstancing
    instances: [
        InstanceListEntry {
            position: Qt.vector3d(0, 0, -60)
            eulerRotation: Qt.vector3d(-10, 0, 30)
            color: "red"
        },
        InstanceListEntry {
            position: Qt.vector3d(50, 10, 100)
            eulerRotation: Qt.vector3d(0, 180, 0)
            color: "green"
        }
    ]
}

Each InstanceListEntry is an object that can have property bindings and animations. This gives great flexibility, but also causes memory overhead. Therefore, it is not recommended to use InstanceList for procedurally generated tables containing thousands (or millions) of instances. Also, any property change to an entry will cause the entire instance table to be recalculated and uploaded to the GPU.

See also RandomInstancing and QQuick3DInstancing.

Property Documentation

instances : List<QtQuick3D::InstanceListEntry>

This property contains the list of instance definitions. Modifying this list, or any of its elements, will cause the instance table to be updated.


© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.