Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QQuick3DCubeMapTexture Class Reference

#include <qquick3dcubemaptexture_p.h>

Inheritance diagram for QQuick3DCubeMapTexture:
Collaboration diagram for QQuick3DCubeMapTexture:

Public Member Functions

 QQuick3DCubeMapTexture (QQuick3DObject *parent=nullptr)
 ~QQuick3DCubeMapTexture () override
Public Member Functions inherited from QQuick3DTexture
 QQuick3DTexture (QQuick3DObject *parent=nullptr)
 \qmltype Texture \inherits Object3D \inqmlmodule QtQuick3D
 ~QQuick3DTexture () override
QUrl source () const
 \qmlproperty url QtQuick3D::Texture::source
QQuickItemsourceItem () const
 \qmlproperty Item QtQuick3D::Texture::sourceItem
float scaleU () const
 \qmlproperty real QtQuick3D::Texture::scaleU
float scaleV () const
 \qmlproperty real QtQuick3D::Texture::scaleV
MappingMode mappingMode () const
 \qmlproperty enumeration QtQuick3D::Texture::mappingMode
TilingMode horizontalTiling () const
 \qmlproperty enumeration QtQuick3D::Texture::tilingModeHorizontal
TilingMode verticalTiling () const
 \qmlproperty enumeration QtQuick3D::Texture::tilingModeVertical
 Q_REVISION (6, 7) TilingMode depthTiling() const
float rotationUV () const
 \qmlproperty real QtQuick3D::Texture::rotationUV
float positionU () const
 \qmlproperty real QtQuick3D::Texture::positionU
float positionV () const
 \qmlproperty real QtQuick3D::Texture::positionV
float pivotU () const
 \qmlproperty real QtQuick3D::Texture::pivotU
float pivotV () const
 \qmlproperty real QtQuick3D::Texture::pivotV
bool flipU () const
 \qmlproperty bool QtQuick3D::Texture::flipU
bool flipV () const
 \qmlproperty bool QtQuick3D::Texture::flipV
int indexUV () const
 \qmlproperty int QtQuick3D::Texture::indexUV
Filter magFilter () const
 \qmlproperty enumeration QtQuick3D::Texture::magFilter
Filter minFilter () const
 \qmlproperty enumeration QtQuick3D::Texture::minFilter
Filter mipFilter () const
 \qmlproperty enumeration QtQuick3D::Texture::mipFilter
QQuick3DTextureDatatextureData () const
 \qmlproperty TextureData QtQuick3D::Texture::textureData
bool generateMipmaps () const
 \qmlproperty bool QtQuick3D::Texture::generateMipmaps
bool autoOrientation () const
 \qmlproperty bool QtQuick3D::Texture::autoOrientation
QSSGRenderImagegetRenderImage ()
 Q_REVISION (6, 7) QQuick3DRenderExtension *textureProvider() const
 Q_REVISION (6, 7) void setTextureProvider(QQuick3DRenderExtension *newRenderTexture)
bool extensionDirty () const
bool hasSourceData () const
Public Member Functions inherited from QObject
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< QStringbindableObjectName ()
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 isQmlObjectType () const
 Returns whether the object has been created by the QML engine or ownership has been explicitly set via QJSEngine::setObjectOwnership().
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).
QThreadthread () const
 Returns the thread in which the object lives.
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
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::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
void killTimer (int id)
 Kills the timer with timer identifier, id.
void killTimer (Qt::TimerId id)
template<typename T>
findChild (QAnyStringView aName, 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 (QAnyStringView 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>
findChild (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.
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 QObjectListchildren () 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< QByteArraydynamicPropertyNames () const
QBindingStoragebindingStorage ()
const QBindingStoragebindingStorage () const
QObjectparent () 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.
Public Member Functions inherited from QQmlParserStatus
 QQmlParserStatus ()
virtual ~QQmlParserStatus ()
Public Member Functions inherited from QQuickItemChangeListener
virtual ~QQuickItemChangeListener ()
virtual void itemSiblingOrderChanged (QQuickItem *)
virtual void itemVisibilityChanged (QQuickItem *)
virtual void itemEnabledChanged (QQuickItem *)
virtual void itemOpacityChanged (QQuickItem *)
virtual void itemDestroyed (QQuickItem *)
virtual void itemChildAdded (QQuickItem *, QQuickItem *)
virtual void itemChildRemoved (QQuickItem *, QQuickItem *)
virtual void itemParentChanged (QQuickItem *, QQuickItem *)
virtual void itemRotationChanged (QQuickItem *)
virtual void itemImplicitWidthChanged (QQuickItem *)
virtual void itemImplicitHeightChanged (QQuickItem *)
virtual void itemFocusChanged (QQuickItem *, Qt::FocusReason)
virtual void itemScaleChanged (QQuickItem *)
virtual void itemTransformChanged (QQuickItem *, QQuickItem *)
virtual QQuickAnchorsPrivateanchorPrivate ()
virtual bool baseDeleted (const QObject *caller) const
virtual QString debugName () const
virtual void addSourceItem (QQuickItem *)
virtual void removeSourceItem (QQuickItem *)

Additional Inherited Members

Public Types inherited from QQuick3DTexture
enum  MappingMode { UV = 0 , Environment = 1 , LightProbe = 2 }
enum  TilingMode { ClampToEdge = 1 , MirroredRepeat , Repeat }
enum  Filter { None = 0 , Nearest , Linear }
Public Slots inherited from QQuick3DTexture
void setSource (const QUrl &source)
void setSourceItem (QQuickItem *sourceItem)
void setScaleU (float scaleU)
void setScaleV (float scaleV)
void setMappingMode (QQuick3DTexture::MappingMode mappingMode)
void setHorizontalTiling (QQuick3DTexture::TilingMode tilingModeHorizontal)
void setVerticalTiling (QQuick3DTexture::TilingMode tilingModeVertical)
Q_REVISION(6, 7) void setDepthTiling(QQuick3DTexture void setRotationUV (float rotationUV)
void setPositionU (float positionU)
void setPositionV (float positionV)
void setPivotU (float pivotU)
void setPivotV (float pivotV)
void setFlipU (bool flipU)
void setFlipV (bool flipV)
void setIndexUV (int indexUV)
void setMagFilter (QQuick3DTexture::Filter magFilter)
void setMinFilter (QQuick3DTexture::Filter minFilter)
void setMipFilter (QQuick3DTexture::Filter mipFilter)
void setTextureData (QQuick3DTextureData *textureData)
void setGenerateMipmaps (bool generateMipmaps)
void setAutoOrientation (bool autoOrientation)
Public Slots inherited from QQuick3DObject
void update ()
void setParentItem (QQuick3DObject *parentItem)
Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
Signals inherited from QQuick3DTexture
void sourceChanged ()
void sourceItemChanged ()
void scaleUChanged ()
void scaleVChanged ()
void mappingModeChanged ()
void horizontalTilingChanged ()
void verticalTilingChanged ()
 Q_REVISION (6, 7) void depthTilingChanged()
void rotationUVChanged ()
void positionUChanged ()
void positionVChanged ()
void pivotUChanged ()
void pivotVChanged ()
void flipUChanged ()
void flipVChanged ()
void indexUVChanged ()
void magFilterChanged ()
void minFilterChanged ()
void mipFilterChanged ()
void textureDataChanged ()
void generateMipmapsChanged ()
void autoOrientationChanged ()
 Q_REVISION (6, 7) void textureProviderChanged()
Signals inherited from QQuick3DObject
void parentChanged ()
void childrenChanged ()
void stateChanged ()
Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
Static Public Member Functions inherited from QObject
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 inherited from QQuick3DTexture
QSSGRenderGraphObjectupdateSpatialNode (QSSGRenderGraphObject *node) override
void markAllDirty () override
void itemChange (ItemChange change, const ItemChangeData &value) override
void itemGeometryChanged (QQuickItem *item, QQuickGeometryChange change, const QRectF &geometry) override
 QQuick3DTexture (QQuick3DObjectPrivate &dd, QQuick3DObject *parent=nullptr)
Protected Member Functions inherited from QQuick3DObject
 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 ()
Protected Member Functions inherited from QObject
QObjectsender () 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)
Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
Properties inherited from QQuick3DTexture
QUrl source
QQuickItemsourceItem
QQuick3DTextureDatatextureData
QQuick3DRenderExtensiontextureProvider
 \qmlproperty RenderExtension QtQuick3D::Texture::textureProvider
float scaleU
float scaleV
MappingMode mappingMode
TilingMode tilingModeHorizontal
TilingMode tilingModeVertical
TilingMode tilingModeDepth
float rotationUV
float positionU
float positionV
float pivotU
float pivotV
bool flipU
bool flipV
int indexUV
Filter magFilter
Filter minFilter
Filter mipFilter
bool generateMipmaps
bool autoOrientation
Properties inherited from QQuick3DObject
QQuick3DObjectparent
 \qmlproperty Object3D QtQuick3D::Object3D::parent This property holds the parent of the Object3D in a 3D scene.
Properties inherited from QObject
QString objectName
 the name of this object

Detailed Description

Definition at line 22 of file qquick3dcubemaptexture_p.h.

Constructor & Destructor Documentation

◆ QQuick3DCubeMapTexture()

QT_BEGIN_NAMESPACE QQuick3DCubeMapTexture::QQuick3DCubeMapTexture ( QQuick3DObject * parent = nullptr)
explicit
\qmltype CubeMapTexture
\inherits Texture
\inqmlmodule QtQuick3D
\brief Defines a cube map texture for use in 3D scenes.

CubeMapTexture is a Texture that represents a cube map texture. A cube map
texture has 6 faces (X+, X-, Y+, Y-, Z+, Z-), where each face is an
individual 2D image. CubeMapTexture allows \l{CustomMaterial}{custom
materials} and \l{Effect}{post-processing effects} to work with cube map
textures in their shaders. A cube map can also be used to define the scene
environment's \l{SceneEnvironment::skyBoxCubeMap}{skybox}.

\qml
CustomMaterial {
    property TextureInput customTexture: TextureInput {
        texture: CubeMapTexture {
            source: "cubemap.ktx"
        }
    }
    fragmentShader: "shader.frag"
}
\endqml

Here shader.frag can be implemented assuming \c customTexture is sampler
uniform with the GLSL type a \c samplerCube. This means that the
\c{texture()} GLSL function takes a \c vec3 as the texture coordinate for
that sampler. If we used \l Texture, the type would have been \c sampler2D.

\badcode
void MAIN()
{
    vec4 c = texture(customTexture, NORMAL);
    BASE_COLOR = vec4(c.rgb, 1.0);
}
\endcode

Sourcing a Texture from a container with a cubemap only loads face 0 (X+)
and results in a 2D texture. Whereas sourcing a CubeMapTexture from the
same asset loads all 6 faces and results in a cubemap texture.

CubeMapTexture inherits all its properties from Texture. The important
difference is that \l {Texture::}{source} must refer to a image file
containing a cubemap, or to a list of image files. In practice a single
file means a \l{https://www.khronos.org/ktx/}{KTX} container containing 6
face images.

Sourcing a CubeMapTexture from 6 individual images can be done in two
different ways. Either as a semicolon-separated list of file names in
X+, X-, Y+, Y-, Z+, Z- order:
\qml
CubeMapTexture {
    source: "maps/right.jpg;maps/left.jpg;maps/top.jpg;maps/bottom.jpg;maps/front.jpg;maps/back.jpg"
}
\endqml
or as a string containing a "%p" placeholder, where "%p" will be replaced by the strings
"posx", "negx", "posy", "negy", "posz", and "negz" to generate the six filenames:
\qml
CubeMapTexture {
    source: "maps/sky_%p.png"

equivalent to: source: "maps/sky_posx.png;maps/sky_negx.png;maps/sky_posy.png;maps/sky_negy.png;maps/sky_posz.png;maps/sky_negz.png" } \endqml

Note
Sourcing image data via other means, such as \l {Texture::}{sourceItem} or \l {Texture::}{textureData} is not supported for CubeMapTexture at the moment.
See also
Texture, CustomMaterial, Effect

Definition at line 81 of file qquick3dcubemaptexture.cpp.

◆ ~QQuick3DCubeMapTexture()

QQuick3DCubeMapTexture::~QQuick3DCubeMapTexture ( )
override

Definition at line 86 of file qquick3dcubemaptexture.cpp.


The documentation for this class was generated from the following files: