Instancing QML Type
Base type for instance tables. More...
Import Statement: | import QtQuick3D |
Since: | Qt 6.2 |
In C++: | 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.