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.