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
QQuick3DTextureDataFrontend Class Reference

#include <qquick3dtexturedatafrontend_p.h>

Inheritance diagram for QQuick3DTextureDataFrontend:
Collaboration diagram for QQuick3DTextureDataFrontend:

Signals

void formatChanged ()
void depthChanged ()
void hasTransparencyChanged ()
void textureDataChanged ()
void widthChanged ()
void heightChanged ()
Signals inherited from QQuick3DTextureData
void textureDataNodeDirty ()
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.

Public Member Functions

 QQuick3DTextureDataFrontend ()
 \qmlproperty int ProceduralTextureData::width
QQuick3DTextureData::Format format () const
void setFormat (const QQuick3DTextureData::Format &newFormat)
int depth () const
void setDepth (int newDepth)
bool hasTransparency () const
void setHasTransparency (bool newHasTransparency)
QByteArray textureData () const
void setTextureData (const QByteArray &newTextureData)
int width () const
void setWidth (int newWidth)
int height () const
void setHeight (int newHeight)
Public Member Functions inherited from QQuick3DTextureData
 QQuick3DTextureData (QQuick3DObject *parent=nullptr)
 ~QQuick3DTextureData ()
const QByteArray textureData () const
 Returns the current texture data defined by this item.
void setTextureData (const QByteArray &data)
 Sets the texture data.
QSize size () const
 Returns the size of the texture data in pixels.
void setSize (const QSize &size)
 Sets the size of the texture data in pixels.
int depth () const
 Returns the depth of the texture data in pixels.
void setDepth (int depth)
 Sets the depth of the texture data in pixels.
Format format () const
 Returns the format of the texture data.
void setFormat (Format format)
 Sets the format of the texture data.
bool hasTransparency () const
 Returns true if the texture data has transparency.
void setHasTransparency (bool hasTransparency)
 Set hasTransparency to true if the texture data has an active alpha channel with non-opaque values.
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 ()

Properties

QQuick3DTextureData::Format format
int width
int height
int depth
bool hasTransparency
QByteArray textureData
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

Additional Inherited Members

Public Types inherited from QQuick3DTextureData
enum  Format {
  None , RGBA8 , RGBA16F , RGBA32F ,
  RGBE8 , R8 , R16 , R16F ,
  R32F , BC1 , BC2 , BC3 ,
  BC4 , BC5 , BC6H , BC7 ,
  DXT1_RGBA , DXT1_RGB , DXT3_RGBA , DXT5_RGBA ,
  ETC2_RGB8 , ETC2_RGB8A1 , ETC2_RGBA8 , ASTC_4x4 ,
  ASTC_5x4 , ASTC_5x5 , ASTC_6x5 , ASTC_6x6 ,
  ASTC_8x5 , ASTC_8x6 , ASTC_8x8 , ASTC_10x5 ,
  ASTC_10x6 , ASTC_10x8 , ASTC_10x10 , ASTC_12x10 ,
  ASTC_12x12
}
 Returns the color format of the texture data assigned in \l textureData property. More...
Public Slots inherited from QQuick3DObject
void update ()
void setParentItem (QQuick3DObject *parentItem)
Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
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 QQuick3DTextureData
QSSGRenderGraphObjectupdateSpatialNode (QSSGRenderGraphObject *node) override
void markAllDirty () override
Protected Member Functions inherited from QQuick3DObject
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 ()
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

Detailed Description

Definition at line 26 of file qquick3dtexturedatafrontend_p.h.

Constructor & Destructor Documentation

◆ QQuick3DTextureDataFrontend()

QT_BEGIN_NAMESPACE QQuick3DTextureDataFrontend::QQuick3DTextureDataFrontend ( )

\qmlproperty int ProceduralTextureData::width

\qmltype ProceduralTextureData
\inqmlmodule QtQuick3D.Helpers
\inherits TextureData
\brief Allows creation and population of TextureData from QML.
\since 6.6

ProceduralTextureData is a helper type that allows creation of TextureData from QML.
The TextureData component is Abstract, and is usually created from C++. With
ProceduralTextureData, it is possible to populate a TextureData from QML.

\qml
ProceduralTextureData {
    id: dynamicTextureData
    property color color1: "red"
    property color color2: "black"
    width: 32
    height: 32
    hasTransparency: false
    format: TextureData.RGBA8
    textureData: generateTextureData(color1, color2)

    function generateTextureData(newColor1: color, newColor2 : color) : ArrayBuffer {
        let dataBuffer = new ArrayBuffer(width * height * 4)
        let data = new Uint8Array(dataBuffer)

Create a checkered pattern using newColor1 and newColor2 for (let x = 0; x < width; x++) { for (let y = 0; y < height; y++) { let index = (x + y * width) * 4 let color = (x % 2 === y % 2) ? newColor1 : newColor2 data[index + 0] = color.r * 255 data[index + 1] = color.g * 255 data[index + 2] = color.b * 255 data[index + 3] = 255 } } return dataBuffer } } \endqml

In the above code snippet, the function generateTextureData is used to generate a checkerboard pattern using the two colors color1 and color2. By filling an ArrayBuffer with the generated data, the textureData property of the TextureData is populated.

This property holds the width of the texture data in pixels. \default 0

\qmlproperty int ProceduralTextureData::height

This property holds the height of the texture data in pixels. \default 0

\qmlproperty int ProceduralTextureData::depth

This property holds the depth of the texture data in pixels. \default 0 Setting the depth above 0 means that the texture is handled as a 3D texture.

\qmlproperty bool ProceduralTextureData::hasTransparency

This property holds whether the texture data has transparency.

\qmlproperty enumeration ProceduralTextureData::format

This property holds the format of the texture data.

\default TextureData.RGBA8

\value TexureData.None The color format is not defined \value TexureData.RGBA8 The color format is considered as 8-bit integer in R, G, B and alpha channels. \value TexureData.RGBA16F The color format is considered as 16-bit float in R,G,B and alpha channels. \value TexureData.RGBA32F The color format is considered as 32-bit float in R, G, B and alpha channels. \value TexureData.RGBE8 The color format is considered as 8-bit mantissa in the R, G, and B channels and 8-bit shared exponent. \value TexureData.R8 The color format is considered as 8-bit integer in R channel. \value TexureData.R16 The color format is considered as 16-bit integer in R channel. \value TexureData.R16F The color format is considered as 16-bit float in R channel. \value TexureData.R32F The color format is considered as 32-bit float R channel. \value TexureData.BC1 The color format is considered as BC1 compressed format with R, G, B, and alpha channels. \value TexureData.BC2 The color format is considered as BC2 compressed format with R, G, B, and alpha channels. \value TexureData.BC3 The color format is considered as BC3 compressed format with R, G, B, and alpha channels. \value TexureData.BC4 The color format is considered as BC4 compressed format with one color channel. \value TexureData.BC5 The color format is considered as BC5 compressed format with two color channels. \value TexureData.BC6H The color format is considered as BC6H compressed format with three high dynamic range color channels. \value TexureData.BC7 The color format is considered as BC7 compressed format with R, G, B, and alpha channels. \value TexureData.DXT1_RGBA The color format is considered as DXT1 compressed format with R, G, B and alpha channels. \value TexureData.DXT1_RGB The color format is considered as DXT1 compressed format with R, G and B channels. \value TexureData.DXT3_RGBA The color format is considered as DXT3 compressed format with R, G, B and alpha channels. \value TexureData.DXT5_RGBA The color format is considered as DXT5 compressed format with R, G, B and alpha channels. \value TexureData.ETC2_RGB8 The color format is considered as ETC2 compressed format for RGB888 data \value TexureData.ETC2_RGB8A1 The color format is considered as ETC2 compressed format for RGBA data where alpha is 1-bit. \value TexureData.ETC2_RGBA8 The color format is considered as ETC2 compressed format with RGBA8888 data. \value TexureData.ASTC_4x4 The color format is considered as ASTC compressed format with 4x4 block footprint. \value TexureData.ASTC_5x4 The color format is considered as ASTC compressed format with 5x4 block footprint. \value TexureData.ASTC_5x5 The color format is considered as ASTC compressed format with 5x5 block footprint. \value TexureData.ASTC_6x5 The color format is considered as ASTC compressed format with 6x5 block footprint. \value TexureData.ASTC_6x6 The color format is considered as ASTC compressed format with 6x6 block footprint. \value TexureData.ASTC_8x5 The color format is considered as ASTC compressed format with 8x5 block footprint. \value TexureData.ASTC_8x6 The color format is considered as ASTC compressed format with 8x6 block footprint. \value TexureData.ASTC_8x8 The color format is considered as ASTC compressed format with 8x8 block footprint. \value TexureData.ASTC_10x5 The color format is considered as ASTC compressed format with 10x5 block footprint. \value TexureData.ASTC_10x6 The color format is considered as ASTC compressed format with 10x6 block footprint. \value TexureData.ASTC_10x8 The color format is considered as ASTC compressed format with 10x8 block footprint. \value TexureData.ASTC_10x10 The color format is considered as ASTC compressed format with 10x10 block footprint. \value TexureData.ASTC_12x10 The color format is considered as ASTC compressed format with 12x10 block footprint. \value TexureData.ASTC_12x12 The color format is considered as ASTC compressed format with 12x12 block footprint.

Note
With the exception of TexureData.RGBA8, not every format is supported at runtime as this depends on which backend is being used as well which hardware is being used.
TexureData.RGBE is internally represented as an TexureData.RGBA8 but is interpreted as described when used as a lightProbe or skybox texture.
Using the value TexureData.None will assume the default value of TexureData.RGBA8

\qmlproperty ArrayBuffer ProceduralTextureData::textureData

This property holds the texture data.

Definition at line 145 of file qquick3dtexturedatafrontend.cpp.

Member Function Documentation

◆ depth()

int QQuick3DTextureDataFrontend::depth ( ) const

Definition at line 166 of file qquick3dtexturedatafrontend.cpp.

◆ depthChanged

void QQuick3DTextureDataFrontend::depthChanged ( )
signal

◆ format()

QQuick3DTextureData::Format QQuick3DTextureDataFrontend::format ( ) const

Definition at line 151 of file qquick3dtexturedatafrontend.cpp.

◆ formatChanged

void QQuick3DTextureDataFrontend::formatChanged ( )
signal

◆ hasTransparency()

bool QQuick3DTextureDataFrontend::hasTransparency ( ) const

Definition at line 182 of file qquick3dtexturedatafrontend.cpp.

◆ hasTransparencyChanged

void QQuick3DTextureDataFrontend::hasTransparencyChanged ( )
signal

◆ height()

int QQuick3DTextureDataFrontend::height ( ) const

Definition at line 225 of file qquick3dtexturedatafrontend.cpp.

◆ heightChanged

void QQuick3DTextureDataFrontend::heightChanged ( )
signal

◆ setDepth()

void QQuick3DTextureDataFrontend::setDepth ( int newDepth)

Definition at line 171 of file qquick3dtexturedatafrontend.cpp.

◆ setFormat()

void QQuick3DTextureDataFrontend::setFormat ( const QQuick3DTextureData::Format & newFormat)

Definition at line 156 of file qquick3dtexturedatafrontend.cpp.

◆ setHasTransparency()

void QQuick3DTextureDataFrontend::setHasTransparency ( bool newHasTransparency)

Definition at line 187 of file qquick3dtexturedatafrontend.cpp.

◆ setHeight()

void QQuick3DTextureDataFrontend::setHeight ( int newHeight)

Definition at line 230 of file qquick3dtexturedatafrontend.cpp.

◆ setTextureData()

void QQuick3DTextureDataFrontend::setTextureData ( const QByteArray & newTextureData)

Definition at line 202 of file qquick3dtexturedatafrontend.cpp.

◆ setWidth()

void QQuick3DTextureDataFrontend::setWidth ( int newWidth)

Definition at line 213 of file qquick3dtexturedatafrontend.cpp.

◆ textureData()

QByteArray QQuick3DTextureDataFrontend::textureData ( ) const

Definition at line 197 of file qquick3dtexturedatafrontend.cpp.

◆ textureDataChanged

void QQuick3DTextureDataFrontend::textureDataChanged ( )
signal

◆ width()

int QQuick3DTextureDataFrontend::width ( ) const

Definition at line 208 of file qquick3dtexturedatafrontend.cpp.

◆ widthChanged

void QQuick3DTextureDataFrontend::widthChanged ( )
signal

Property Documentation

◆ depth

int QQuick3DTextureDataFrontend::depth
readwrite

Definition at line 32 of file qquick3dtexturedatafrontend_p.h.

◆ format

QQuick3DTextureData::Format QQuick3DTextureDataFrontend::format
readwrite

Definition at line 29 of file qquick3dtexturedatafrontend_p.h.

◆ hasTransparency

bool QQuick3DTextureDataFrontend::hasTransparency
readwrite

Definition at line 33 of file qquick3dtexturedatafrontend_p.h.

◆ height

int QQuick3DTextureDataFrontend::height
readwrite

Definition at line 31 of file qquick3dtexturedatafrontend_p.h.

◆ textureData

QByteArray QQuick3DTextureDataFrontend::textureData
readwrite

Definition at line 34 of file qquick3dtexturedatafrontend_p.h.

◆ width

int QQuick3DTextureDataFrontend::width
readwrite

Definition at line 30 of file qquick3dtexturedatafrontend_p.h.


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