![]() |
Qt 6.x
The Qt SDK
|
#include <qquick3dmodel_p.h>
Public Member Functions | |
QQuick3DModel (QQuick3DNode *parent=nullptr) | |
\qmltype Model \inherits Node \inqmlmodule QtQuick3D | |
~QQuick3DModel () override | |
QUrl | source () const |
\qmlproperty url Model::source | |
bool | castsShadows () const |
\qmlproperty bool Model::castsShadows | |
bool | receivesShadows () const |
\qmlproperty bool Model::receivesShadows | |
bool | pickable () const |
\qmlproperty bool Model::pickable | |
QQuick3DGeometry * | geometry () const |
\qmlproperty Geometry Model::geometry | |
QQuick3DSkeleton * | skeleton () const |
\qmlproperty Skeleton Model::skeleton | |
QList< QMatrix4x4 > | inverseBindPoses () const |
\qmlproperty List<matrix4x4> Model::inverseBindPoses | |
QQuick3DBounds3 | bounds () const |
\qmlproperty Bounds Model::bounds | |
float | depthBias () const |
\qmlproperty real Model::depthBias | |
QQmlListProperty< QQuick3DMaterial > | materials () |
QQmlListProperty< QQuick3DMorphTarget > | morphTargets () |
QQuick3DInstancing * | instancing () const |
\qmlproperty QtQuick3D::Instancing Model::instancing | |
QQuick3DNode * | instanceRoot () const |
\qmlproperty QtQuick3D::Node Model::instanceRoot | |
Q_REVISION (6, 3) bool receivesReflections() const | |
Q_REVISION (6, 4) bool castsReflections() const | |
Q_REVISION (6, 4) QQuick3DSkin *skin() const | |
Q_REVISION (6, 4) bool isUsedInBakedLighting() const | |
Q_REVISION (6, 4) int lightmapBaseResolution() const | |
Q_REVISION (6, 4) QQuick3DBakedLightmap *bakedLightmap() const | |
Q_REVISION (6, 5) float instancingLodMin() const | |
Q_REVISION (6, 5) float instancingLodMax() const | |
Q_REVISION (6, 5) float levelOfDetailBias() const | |
![]() | |
QQuick3DNode (QQuick3DNode *parent=nullptr) | |
\qmltype Node \inherits Object3D \inqmlmodule QtQuick3D | |
~QQuick3DNode () override | |
float | x () const |
\qmlproperty real QtQuick3D::Node::x | |
float | y () const |
\qmlproperty real QtQuick3D::Node::y | |
float | z () const |
\qmlproperty real QtQuick3D::Node::z | |
QQuaternion | rotation () const |
\qmlproperty quaternion QtQuick3D::Node::rotation | |
QVector3D | eulerRotation () const |
\qmlproperty vector3d QtQuick3D::Node::eulerRotation | |
QVector3D | position () const |
\qmlproperty vector3d QtQuick3D::Node::position | |
QVector3D | scale () const |
\qmlproperty vector3d QtQuick3D::Node::scale | |
QVector3D | pivot () const |
\qmlproperty vector3d QtQuick3D::Node::pivot | |
float | localOpacity () const |
\qmlproperty real QtQuick3D::Node::opacity | |
bool | visible () const |
\qmlproperty bool QtQuick3D::Node::visible | |
int | staticFlags () const |
\qmlproperty int QtQuick3D::Node::staticFlags | |
QQuick3DNode * | parentNode () const |
QVector3D | forward () const |
\qmlproperty vector3d QtQuick3D::Node::forward \readonly | |
QVector3D | up () const |
\qmlproperty vector3d QtQuick3D::Node::up \readonly | |
QVector3D | right () const |
\qmlproperty vector3d QtQuick3D::Node::right \readonly | |
QVector3D | scenePosition () const |
\qmlproperty vector3d QtQuick3D::Node::scenePosition \readonly | |
QQuaternion | sceneRotation () const |
\qmlproperty quaternion QtQuick3D::Node::sceneRotation \readonly | |
QVector3D | sceneScale () const |
\qmlproperty vector3d QtQuick3D::Node::sceneScale \readonly | |
QMatrix4x4 | sceneTransform () const |
\qmlproperty matrix4x4 QtQuick3D::Node::sceneTransform \readonly | |
Q_INVOKABLE void | rotate (qreal degrees, const QVector3D &axis, QQuick3DNode::TransformSpace space) |
\qmlmethod QtQuick3D::Node::rotate(real degrees, vector3d axis, enumeration space) | |
Q_INVOKABLE QVector3D | mapPositionToScene (const QVector3D &localPosition) const |
\qmlmethod vector3d QtQuick3D::Node::mapPositionToScene(vector3d localPosition) | |
Q_INVOKABLE QVector3D | mapPositionFromScene (const QVector3D &scenePosition) const |
\qmlmethod vector3d QtQuick3D::Node::mapPositionFromScene(vector3d scenePosition) | |
Q_INVOKABLE QVector3D | mapPositionToNode (const QQuick3DNode *node, const QVector3D &localPosition) const |
\qmlmethod vector3d QtQuick3D::Node::mapPositionToNode(QtQuick3D::Node node, vector3d localPosition) | |
Q_INVOKABLE QVector3D | mapPositionFromNode (const QQuick3DNode *node, const QVector3D &localPosition) const |
\qmlmethod vector3d QtQuick3D::Node::mapPositionFromNode(QtQuick3D::Node node, vector3d localPosition) | |
Q_INVOKABLE QVector3D | mapDirectionToScene (const QVector3D &localDirection) const |
\qmlmethod vector3d QtQuick3D::Node::mapDirectionToScene(vector3d localDirection) | |
Q_INVOKABLE QVector3D | mapDirectionFromScene (const QVector3D &sceneDirection) const |
\qmlmethod vector3d QtQuick3D::Node::mapDirectionFromScene(vector3d sceneDirection) | |
Q_INVOKABLE QVector3D | mapDirectionToNode (const QQuick3DNode *node, const QVector3D &localDirection) const |
\qmlmethod vector3d QtQuick3D::Node::mapDirectionToNode(QtQuick3D::Node node, vector3d localDirection) | |
Q_INVOKABLE QVector3D | mapDirectionFromNode (const QQuick3DNode *node, const QVector3D &localDirection) const |
\qmlmethod vector3d QtQuick3D::Node::mapDirectionFromNode(QtQuick3D::Node node, vector3d localDirection) | |
void | markAllDirty () override |
![]() | |
Q_INVOKABLE | QObject (QObject *parent=nullptr) |
Constructs an object with parent object parent. | |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. | |
virtual bool | event (QEvent *event) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
Filters events if this object has been installed as an event filter for the watched object. | |
QString | objectName () const |
Q_WEAK_OVERLOAD void | setObjectName (const QString &name) |
Sets the object's name to name. | |
void | setObjectName (QAnyStringView name) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QBindable< QString > | bindableObjectName () |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false . | |
bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false . | |
bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false . | |
bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false . | |
bool | blockSignals (bool b) noexcept |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. | |
int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
template<typename T > | |
T | findChild (const QString &aName=QString(), Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
template<typename T > | |
QList< T > | findChildren (const QString &aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
template<typename T > | |
QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
const QObjectList & | children () const |
Returns a list of child objects. | |
void | setParent (QObject *parent) |
Makes the object a child of parent. | |
void | installEventFilter (QObject *filterObj) |
Installs an event filter filterObj on this object. | |
void | removeEventFilter (QObject *obj) |
Removes an event filter object obj from this object. | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
void | dumpObjectTree () const |
Dumps a tree of children to the debug output. | |
void | dumpObjectInfo () const |
Dumps information about signal connections, etc. | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. | |
bool | setProperty (const char *name, QVariant &&value) |
QVariant | property (const char *name) const |
Returns the value of the object's name property. | |
QList< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () const |
Returns a pointer to the parent object. | |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false . | |
![]() | |
QQmlParserStatus () | |
virtual | ~QQmlParserStatus () |
virtual void | classBegin ()=0 |
Invoked after class creation, but before any properties have been set. | |
virtual void | componentComplete ()=0 |
Invoked after the root component that caused this instantiation has completed construction. | |
Static Public Member Functions | |
static QString | translateMeshSource (const QUrl &source, QObject *contextObject) |
![]() | |
static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
\threadsafe | |
static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
\threadsafe | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static bool | disconnect (const QMetaObject::Connection &) |
Disconnect a connection. | |
template<typename Func1 , typename Func2 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
template<typename Func1 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
Protected Member Functions | |
QSSGRenderGraphObject * | updateSpatialNode (QSSGRenderGraphObject *node) override |
void | markAllDirty () override |
void | itemChange (ItemChange, const ItemChangeData &) override |
![]() | |
void | connectNotify (const QMetaMethod &signal) override |
void | disconnectNotify (const QMetaMethod &signal) override |
void | componentComplete () override |
Invoked after the root component that caused this instantiation has completed construction. | |
QQuick3DNode (QQuick3DNodePrivate &dd, QQuick3DNode *parent=nullptr) | |
QSSGRenderGraphObject * | updateSpatialNode (QSSGRenderGraphObject *node) override |
virtual void | itemChange (ItemChange, const ItemChangeData &) override |
![]() | |
virtual QSSGRenderGraphObject * | updateSpatialNode (QSSGRenderGraphObject *node) |
virtual void | markAllDirty () |
virtual void | itemChange (ItemChange, const ItemChangeData &) |
QQuick3DObject (QQuick3DObjectPrivate &dd, QQuick3DObject *parent=nullptr) | |
void | classBegin () override |
Invoked after class creation, but before any properties have been set. | |
void | componentComplete () override |
Invoked after the root component that caused this instantiation has completed construction. | |
bool | isComponentComplete () const |
virtual void | preSync () |
![]() | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. | |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
This event handler can be reimplemented in a subclass to receive timer events for the object. | |
virtual void | childEvent (QChildEvent *event) |
This event handler can be reimplemented in a subclass to receive child events. | |
virtual void | customEvent (QEvent *event) |
This event handler can be reimplemented in a subclass to receive custom events. | |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
Properties | |
QUrl | source |
bool | castsShadows |
bool | receivesShadows |
QQmlListProperty< QQuick3DMaterial > | materials |
\qmlproperty List<QtQuick3D::Material> Model::materials | |
QQmlListProperty< QQuick3DMorphTarget > | morphTargets |
\qmlproperty List<QtQuick3D::MorphTarget> Model::morphTargets | |
bool | pickable |
QQuick3DGeometry * | geometry |
QQuick3DInstancing * | instancing |
QQuick3DNode * | instanceRoot |
QQuick3DSkeleton * | skeleton |
QQuick3DSkin * | skin |
\qmlproperty Skin Model::skin | |
QList< QMatrix4x4 > | inverseBindPoses |
QQuick3DBounds3 | bounds |
float | depthBias |
bool | receivesReflections |
\qmlproperty bool Model::receivesReflections | |
bool | castsReflections |
\qmlproperty bool Model::castsReflections | |
bool | usedInBakedLighting |
int | lightmapBaseResolution |
\qmlproperty int Model::lightmapBaseResolution | |
QQuick3DBakedLightmap * | bakedLightmap |
\qmlproperty BakedLightmap Model::bakedLightmap | |
float | instancingLodMin |
\qmlproperty real Model::instancingLodMin | |
float | instancingLodMax |
\qmlproperty real Model::instancingLodMax | |
float | levelOfDetailBias |
\qmlproperty real Model::levelOfDetailBias | |
![]() | |
float | x |
float | y |
float | z |
QQuaternion | rotation |
QVector3D | eulerRotation |
QVector3D | position |
QVector3D | scale |
QVector3D | pivot |
float | opacity |
bool | visible |
QVector3D | forward |
QVector3D | up |
QVector3D | right |
QVector3D | scenePosition |
QQuaternion | sceneRotation |
QVector3D | sceneScale |
QMatrix4x4 | sceneTransform |
int | staticFlags |
![]() | |
QQuick3DObject * | parent |
\qmlproperty Object3D QtQuick3D::Object3D::parent This property holds the parent of the Object3D in a 3D scene. | |
![]() | |
QString | objectName |
the name of this object | |
Additional Inherited Members | |
![]() | |
enum | TransformSpace { LocalSpace , ParentSpace , SceneSpace } |
enum | StaticFlags { None } |
![]() | |
QScopedPointer< QObjectData > | d_ptr |
![]() | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
Definition at line 60 of file qquick3dmodel_p.h.
|
explicit |
\qmltype Model \inherits Node \inqmlmodule QtQuick3D
Lets you load a 3D model data.
The Model item makes it possible to load a mesh and modify how its shaded, by adding materials to it. For a model to be renderable, it needs at least a mesh and a material.
Definition at line 108 of file qquick3dmodel.cpp.
|
override |
Definition at line 111 of file qquick3dmodel.cpp.
References disconnect(), materials, and morphTargets.
QQuick3DBounds3 QQuick3DModel::bounds | ( | ) | const |
\qmlproperty Bounds Model::bounds
The bounds of the model descibes the extents of the bounding volume around the model.
\readonly
Definition at line 365 of file qquick3dmodel.cpp.
|
signal |
bool QQuick3DModel::castsShadows | ( | ) | const |
\qmlproperty bool Model::castsShadows
When this property is true
, the geometry of this model is used when rendering to the shadow maps, and is also generating shadows in baked lighting.
The default value is true
.
Definition at line 252 of file qquick3dmodel.cpp.
|
signal |
float QQuick3DModel::depthBias | ( | ) | const |
\qmlproperty real Model::depthBias
Holds the depth bias of the model. Depth bias is added to the object distance from camera when sorting objects. This can be used to force rendering order between objects close to each other, that might otherwise be rendered in different order in different frames. Negative values cause the sorting value to move closer to the camera while positive values move it further from the camera.
Definition at line 378 of file qquick3dmodel.cpp.
|
signal |
QQuick3DGeometry * QQuick3DModel::geometry | ( | ) | const |
\qmlproperty Geometry Model::geometry
Specify a custom geometry for the model. The Model::source must be empty when custom geometry is used.
Definition at line 295 of file qquick3dmodel.cpp.
|
signal |
QQuick3DNode * QQuick3DModel::instanceRoot | ( | ) | const |
\qmlproperty QtQuick3D::Node Model::instanceRoot
This property defines the origin of the instance’s coordinate system.
See the \l{Transforms and instancing}{overview documentation} for a detailed explanation.
Definition at line 208 of file qquick3dmodel.cpp.
|
signal |
QQuick3DInstancing * QQuick3DModel::instancing | ( | ) | const |
\qmlproperty QtQuick3D::Instancing Model::instancing
If this property is set, the model will not be rendered normally. Instead, a number of instances of the model will be rendered, as defined by the instance table.
Definition at line 194 of file qquick3dmodel.cpp.
|
signal |
QList< QMatrix4x4 > QQuick3DModel::inverseBindPoses | ( | ) | const |
\qmlproperty List<matrix4x4> Model::inverseBindPoses
This property contains a list of Inverse Bind Pose matrixes used for the skeletal animation. Each inverseBindPose matrix means the inverse of the global transform of the repective \l {Joint::index} in \l {skeleton}, which will be used initially.
Definition at line 351 of file qquick3dmodel.cpp.
|
signal |
|
overrideprotectedvirtual |
Reimplemented from QQuick3DNode.
Definition at line 748 of file qquick3dmodel.cpp.
|
overrideprotectedvirtual |
Reimplemented from QQuick3DObject.
Definition at line 236 of file qquick3dmodel.cpp.
References QQuick3DNode::markAllDirty().
Referenced by updateSpatialNode().
QQmlListProperty< QQuick3DMaterial > QQuick3DModel::materials | ( | ) |
QQmlListProperty< QQuick3DMorphTarget > QQuick3DModel::morphTargets | ( | ) |
|
signal |
bool QQuick3DModel::pickable | ( | ) | const |
\qmlproperty bool Model::pickable
This property controls whether the model is pickable or not. Set this property to true
to make the model pickable. Models are not pickable by default.
Definition at line 283 of file qquick3dmodel.cpp.
|
signal |
QQuick3DModel::Q_REVISION | ( | 6 | , |
3 | |||
) | const |
|
signal |
|
slot |
QQuick3DModel::Q_REVISION | ( | 6 | , |
4 | |||
) | const |
QQuick3DModel::Q_REVISION | ( | 6 | , |
4 | |||
) | const |
QQuick3DModel::Q_REVISION | ( | 6 | , |
4 | |||
) | const |
QQuick3DModel::Q_REVISION | ( | 6 | , |
4 | |||
) | const |
QQuick3DModel::Q_REVISION | ( | 6 | , |
4 | |||
) | const |
|
signal |
|
signal |
|
signal |
|
slot |
|
slot |
|
slot |
|
slot |
|
slot |
|
signal |
|
signal |
QQuick3DModel::Q_REVISION | ( | 6 | , |
5 | |||
) | const |
QQuick3DModel::Q_REVISION | ( | 6 | , |
5 | |||
) | const |
QQuick3DModel::Q_REVISION | ( | 6 | , |
5 | |||
) | const |
|
signal |
|
signal |
|
signal |
|
slot |
|
slot |
|
newslot |
bool QQuick3DModel::receivesShadows | ( | ) | const |
\qmlproperty bool Model::receivesShadows
When this property is set to true
, the model's materials take shadow contribution from shadow casting lights into account.
The default value is true
.
Definition at line 270 of file qquick3dmodel.cpp.
|
signal |
Definition at line 634 of file qquick3dmodel.cpp.
References QQuick3DBounds3::bounds, boundsChanged(), emit, QQuick3DBounds3::maximum, QQuick3DBounds3::minimum, and qFuzzyCompare().
Referenced by updateSpatialNode().
|
slot |
Definition at line 544 of file qquick3dmodel.cpp.
References castsShadows, castsShadowsChanged(), and emit.
|
slot |
Definition at line 674 of file qquick3dmodel.cpp.
References depthBiasChanged(), emit, and qFuzzyCompare().
|
slot |
Definition at line 574 of file qquick3dmodel.cpp.
References QQuick3DObjectPrivate::attachWatcher(), QObject::connect(), QObject::disconnect(), emit, geometry, geometryChanged(), QQuick3DGeometry::geometryNodeDirty(), and setGeometry().
Referenced by setGeometry().
|
slot |
Definition at line 662 of file qquick3dmodel.cpp.
References QQuick3DObjectPrivate::attachWatcher(), emit, instanceRoot, instanceRootChanged(), and setInstanceRoot().
Referenced by setInstanceRoot().
|
slot |
Definition at line 643 of file qquick3dmodel.cpp.
References QQuick3DObjectPrivate::attachWatcher(), QObject::connect(), QObject::disconnect(), emit, QQuick3DInstancing::instanceNodeDirty(), instancing, instancingChanged(), and setInstancing().
Referenced by setInstancing().
|
slot |
Definition at line 623 of file qquick3dmodel.cpp.
References emit, and inverseBindPosesChanged().
|
slot |
Definition at line 564 of file qquick3dmodel.cpp.
References emit, and pickableChanged().
|
slot |
Definition at line 554 of file qquick3dmodel.cpp.
References emit, receivesShadows, and receivesShadowsChanged().
|
slot |
Definition at line 596 of file qquick3dmodel.cpp.
References QQuick3DObjectPrivate::attachWatcher(), emit, setSkeleton(), skeleton, and skeletonChanged().
Referenced by setSkeleton().
Definition at line 532 of file qquick3dmodel.cpp.
References QList< T >::append(), QQuick3DSceneManager::dirtyBoundingBoxList, emit, QQuick3DObjectPrivate::get(), QQuick3DObjectPrivate::sceneManager, source, and sourceChanged().
Referenced by setModelProperties().
QQuick3DSkeleton * QQuick3DModel::skeleton | ( | ) | const |
\qmlproperty Skeleton Model::skeleton
Contains the skeleton for the model. The Skeleton is used together with \l {inverseBindPoses} for \l {Vertex Skinning}{skinning}.
Definition at line 313 of file qquick3dmodel.cpp.
|
signal |
QUrl QQuick3DModel::source | ( | ) | const |
\qmlproperty url Model::source
This property defines the location of the mesh file containing the geometry of this Model or one of the built-in primitive meshes listed below as described in \l {Mesh format and built-in primitives}.
\list
Definition at line 137 of file qquick3dmodel.cpp.
|
signal |
Definition at line 217 of file qquick3dmodel.cpp.
References context, isNumber(), qmlContext(), QStringLiteral, resolvedUrl(), source, and QQmlFile::urlToLocalFileOrQrc().
Referenced by updateSpatialNode(), and QQuick3DResourceLoader::updateSpatialNode().
|
overrideprotectedvirtual |
Reimplemented from QQuick3DObject.
Definition at line 754 of file qquick3dmodel.cpp.
References QQuick3DGeometry::boundsMax, QQuick3DGeometry::boundsMin, context, QQuick3DObjectPrivate::get(), i, QSSGRenderNode::instanceRoot, QString::isEmpty(), QQuick3DBakedLightmap::isEnabled(), QQuick3DBakedLightmap::key, QQuick3DBakedLightmap::loadPrefix, markAllDirty(), QSSGRenderNode::markDirty(), QSSGRenderModel::meshPath, QSSGRenderNode::Pickable, qmlContext(), QStringLiteral, resolvedUrl(), setBounds(), QSSGRenderNode::signedSquared(), QSSGRenderSkeleton::skinningDirty, QQuick3DObjectPrivate::spatialNode, QList< T >::toVector(), QSSGRenderNode::TransformDirty, translateMeshSource(), QQuick3DNode::updateSpatialNode(), and QQmlFile::urlToLocalFileOrQrc().
|
readwrite |
\qmlproperty BakedLightmap Model::bakedLightmap
When this property is set to a valid, enabled BakedLightmap object, the model will get a lightmap generated when baking lighting, the lightmap is then stored persistently. When rendering, the model will load and use the associated lightmap. The default value is null.
For more information on how to bake lightmaps, see the \l Lightmapper documentation.
This property is relevant both when baking and when using lightmaps. A consistent state between the baking run and the subsequent runs that use the generated data is essential. For example, changing the lightmap key will make it impossible to load the previously generated data. An exception is \l {BakedLightmap::}{enabled}, which can be used to dynamically toggle the usage of lightmaps (outside of the baking run), but be aware that the rendered results will depend on the Lights' \l{Light::bakeMode}{bakeMode} settings in the scene.
Definition at line 57 of file qquick3dmodel_p.h.
|
read |
Definition at line 57 of file qquick3dmodel_p.h.
|
readwrite |
\qmlproperty bool Model::castsReflections
When this property is set to true
, the model is rendered by reflection probes and can be seen in the reflections.
Definition at line 57 of file qquick3dmodel_p.h.
|
readwrite |
Definition at line 57 of file qquick3dmodel_p.h.
Referenced by setCastsShadows().
|
readwrite |
Definition at line 57 of file qquick3dmodel_p.h.
|
readwrite |
Definition at line 57 of file qquick3dmodel_p.h.
Referenced by setGeometry().
|
readwrite |
Definition at line 57 of file qquick3dmodel_p.h.
Referenced by setInstanceRoot().
|
readwrite |
Definition at line 57 of file qquick3dmodel_p.h.
Referenced by setInstancing().
|
readwrite |
\qmlproperty real Model::instancingLodMax
Defines the maximum distance from camera that an instance of this model is shown. Used for a level of detail implementation.
Definition at line 57 of file qquick3dmodel_p.h.
|
readwrite |
\qmlproperty real Model::instancingLodMin
Defines the minimum distance from camera that an instance of this model is shown. Used for a level of detail implementation.
Definition at line 57 of file qquick3dmodel_p.h.
|
readwrite |
Definition at line 57 of file qquick3dmodel_p.h.
|
readwrite |
\qmlproperty real Model::levelOfDetailBias
This property changes the size the model needs to be when rendered before the automatic level of detail meshes are used. Each generated level of detail mesh contains an ideal size value that each level should be shown, which is a ratio of how much of the rendered scene will be that mesh. A model that represents only a few pixels on screen will not require the full geometry to look correct, so a lower level of detail mesh will be used instead in this case. This value is a bias to the ideal value such that a value smaller than 1.0
will require an even smaller rendered size before switching to a lesser level of detail. Values above 1.0
will lead to lower levels of detail being used sooner. A value of 0.0
will disable the usage of levels of detail completely.
The default value is 1.0
Definition at line 57 of file qquick3dmodel_p.h.
|
readwrite |
\qmlproperty int Model::lightmapBaseResolution
Defines the approximate size of the lightmap for this model. The default value is 1024, indicating 1024x1024 as the base size. The actual size of the lightmap texture is likely to be different, often bigger, depending on the mesh.
For simpler, smaller meshes, or when it is known that using a bigger lightmap is unnecessary, the value can be set to something smaller, for example, 512 or 256.
The minimum value is 128.
This setting applies both to persistently stored and for intermediate, partial lightmaps. When baking lightmaps, all models that have \l usedInBakedLighting enabled are part of the path-traced scene. Thus all of them need to have lightmap UV unwrapping performed and the rasterization steps necessary to compute direct lighting which then can be taken into account for indirect light bounces in the scene. However, for models that just contribute to, but do not store a lightmap the default value is often sufficient. Fine-tuning is more relevant for models that store and then use the generated lightmaps.
This property is relevant only when baking lightmaps. It has no effect afterwards, when using the generated lightmaps during rendering.
Models that have lightmap UV data pre-generated during asset import time (e.g. via the balsam tool) will ignore this property because the lightmap UV unwrapping and the lightmap size hint evaluation have already been done, and will not be performed again during lightmap baking.
Definition at line 57 of file qquick3dmodel_p.h.
|
read |
\qmlproperty List<QtQuick3D::Material> Model::materials
This property contains a list of materials used to render the provided geometry. To render anything, there must be at least one material. Normally there should be one material for each sub-mesh included in the source geometry.
Definition at line 57 of file qquick3dmodel_p.h.
Referenced by ~QQuick3DModel(), and setModelProperties().
|
read |
\qmlproperty List<QtQuick3D::MorphTarget> Model::morphTargets
This property contains a list of \l [QtQuick3D QML] {MorphTarget}{MorphTarget}s used to render the provided geometry. Meshes should have at least one attribute among positions, normals, tangents, binormals, texture coordinates, and vertex colors for the morph targets.
Definition at line 57 of file qquick3dmodel_p.h.
Referenced by ~QQuick3DModel(), and processNode().
|
readwrite |
Definition at line 57 of file qquick3dmodel_p.h.
|
readwrite |
\qmlproperty bool Model::receivesReflections
When this property is set to true
, the model's materials take reflections contribution from a reflection probe. If the model is inside more than one reflection probe at the same time, the nearest reflection probe is taken into account.
Definition at line 57 of file qquick3dmodel_p.h.
|
readwrite |
Definition at line 57 of file qquick3dmodel_p.h.
Referenced by setReceivesShadows().
|
readwrite |
Definition at line 57 of file qquick3dmodel_p.h.
Referenced by setSkeleton().
|
readwrite |
\qmlproperty Skin Model::skin
Contains the skeleton for the model. The Skeleton is used for \l {Vertex Skinning}{skinning}.
Definition at line 57 of file qquick3dmodel_p.h.
|
readwrite |
Definition at line 57 of file qquick3dmodel_p.h.
Referenced by setSource(), and translateMeshSource().
|
readwrite |
Definition at line 57 of file qquick3dmodel_p.h.