Instancing QML Type
Base type for instance tables. More...
Import Statement: | import QtQuick3D |
Since: | Qt 6.2 |
Instantiates: | QQuick3DInstancing |
Inherits: | |
Inherited By: |
Properties
- depthSortingEnabled : bool
- hasTransparency : bool
- instanceCountOverride : int
Methods
- color instanceColor(int index)
(since 6.3)
- vector3d instanceCustomData(int index)
(since 6.3)
- vector3d instancePosition(int index)
(since 6.3)
- quaternion instanceRotation(int index)
(since 6.3)
- vector3d instanceScale(int index)
(since 6.3)
Detailed Description
Instanced rendering allows duplicating a model with variations.
The Instancing type defines a table that specifies how each instance is modified relative to the base model. The table has an entry for each index, containing a transform matrix, a color, and generic data for use by custom materials. To use instancing, set a model's instancing property to reference an Instancing object.
An application can define an Instancing object in C++ by subclassing QQuick3DInstancing, or it can use one of the pre-defined QML types: InstanceList FileInstancing, or RandomInstancing. In addition, it is possible to use a particle system to define an instancing table by using the ModelParticle3D.instanceTable property.
Property Documentation
depthSortingEnabled : bool |
Holds the depth sorting enabled value for the instance table. When enabled, instances are sorted and rendered from the furthest instance from the camera to the nearest i.e. back-to-front. If disabled, which is the default, instances are rendered in the order they are specified in the instance table.
Note: The instances are only sorted against each other. Instances are not sorted against other objects in the scene.
Note: The sorting increases the frame preparation time especially with large instance counts.
hasTransparency : bool |
Set this property to true if the instancing table contains alpha values that should be used when rendering the model. This property only makes a difference if the model is opaque: If the model has a transparent material, or an opacity less than one, the alpha value from the table will be used regardless.
Note: Enabling alpha blending may cause rendering issues when instances overlap. See the alpha blending and instancing documentation for details.
instanceCountOverride : int |
Set this property to limit the number of instances without regenerating or re-uploading the instance table. This allows very inexpensive animation of the number of instances rendered.
Method Documentation
Returns the color of the instance at index
This method was introduced in Qt 6.3.
See also instancePosition, instanceScale, instanceRotation, instanceColor, and instanceCustomData.
Returns the custom data for the instance at index
This method was introduced in Qt 6.3.
See also instancePosition, instanceScale, instanceRotation, instanceColor, and instanceCustomData.
Returns the position of the instance at index
This method was introduced in Qt 6.3.
See also instanceScale, instanceRotation, instanceColor, and instanceCustomData.
|
Returns a quaternion representing the rotation of the instance at index
This method was introduced in Qt 6.3.
See also instancePosition, instanceScale, instanceRotation, instanceColor, and instanceCustomData.
Returns the scale of the instance at index
This method was introduced in Qt 6.3.
See also instancePosition, instanceScale, instanceRotation, instanceColor, and instanceCustomData.