Qt 5.6 | Qt 3D | C++ Classes | QAbstractTextureProvider

Qt 5.6.3 Reference Documentation

# QAbstractTextureProvider Class

(Qt3DRender::QAbstractTextureProvider)

A base class to be used to provide textures. More...

Header: | #include <QAbstractTextureProvider>
qmake: | QT += 3drender
Since: | Qt 5.5
Inherits: | Qt3DCore::QNode
Inherited By: | Qt3DRender::QTexture1D, Qt3DRender::QTexture1DArray, Qt3DRender::QTexture2D, Qt3DRender::QTexture2DArray, Qt3DRender::QTexture2DMultisample, Qt3DRender::QTexture2DMultisampleArray, Qt3DRender::QTexture3D, Qt3DRender::QTextureBuffer, Qt3DRender::QTextureCubeMap, Qt3DRender::QTextureCubeMapArray, and Qt3DRender::QTextureRectangle

- List of all members, including inherited members

## Public Types

enum | ComparisonFunction { CompareLessEqual, CompareGreaterEqual, CompareLess, CompareGreater, ..., CompareNever }
enum | ComparisonMode { CompareRefToTexture, CompareNone }
enum | CubeMapFace { CubeMapPositiveX, CubeMapNegativeX, CubeMapPositiveY, CubeMapNegativeY, CubeMapPositiveZ, CubeMapNegativeZ }
enum | Filter { Nearest, Linear, NearestMipMapNearest, NearestMipMapLinear, LinearMipMapNearest, LinearMipMapLinear }
enum | Status { Loading, Loaded, Error }
enum | Target { Target1D, Target1DArray, Target2D, Target2DArray, ..., TargetBuffer }
enum | TextureFormat { NoFormat, Automatic, R8_UNorm, RG8_UNorm, ..., LuminanceAlphaFormat }

## Properties

- comparisonFunction : ComparisonFunction
- comparisonMode : ComparisonMode
- depth : int
- format : TextureFormat
- generateMipMaps : bool
- height : int
- magnificationFilter : Filter
- maximumAnisotropy : float

- maximumLayers : int
- minificationFilter : Filter
- status : const Status
- target : const Target
- unique : bool
- width : int
- wrapMode : Qt3DRender::QTextureWrapMode * const

- 2 properties inherited from Qt3DCore::QNode

## Public Functions

| ~QAbstractTextureProvider()
void | addTextureImage(QAbstractTextureImage *textureImage)
ComparisonFunction | comparisonFunction() const
ComparisonMode | comparisonMode() const
int | depth() const
TextureFormat | format() const
bool | generateMipMaps() const
int | height() const
bool | isUnique() const
Filter | magnificationFilter() const
float | maximumAnisotropy() const
int | maximumLayers() const
Filter | minificationFilter() const
void | removeTextureImage(QAbstractTextureImage *textureImage)
void | setSize(int w, int h = 1, int d = 1)
void | setWrapMode(const QTextureWrapMode &wrapMode)
Status | status() const
Target | target() const
QList<QAbstractTextureImage *> | textureImages() const
int | width() const
QTextureWrapMode * | wrapMode()

- 6 public functions inherited from Qt3DCore::QNode

## Public Slots

void | setComparisonFunction(ComparisonFunction function)
void | setComparisonMode(ComparisonMode mode)
void | setDepth(int depth)
void | setFormat(TextureFormat format)
void | setGenerateMipMaps(bool gen)
void | setHeight(int height)
void | setMagnificationFilter(Filter f)
void | setMaximumAnisotropy(float anisotropy)
void | setMaximumLayers(int maximumLayers)
void | setMinificationFilter(Filter f)
void | setUnique(bool unique)
void | setWidth(int width)

- 2 public slots inherited from Qt3DCore::QNode

## Signals

void | comparisonFunctionChanged(ComparisonFunction comparisonFunction)
void | comparisonModeChanged(ComparisonMode comparisonMode)
void | depthChanged(int depth)
void | formatChanged(TextureFormat format)
void | generateMipMapsChanged(bool generateMipMaps)
void | heightChanged(int height)
void | magnificationFilterChanged(Filter magnificationFilter)
void | maximumAnisotropyChanged(float maximumAnisotropy)
void | maximumLayersChanged(int maximumLayers)
void | minificationFilterChanged(Filter minificationFilter)
void | statusChanged(Status status)
void | uniqueChanged(bool unique)
void | widthChanged(int width)

- 2 signals inherited from Qt3DCore::QNode

## Protected Functions

| QAbstractTextureProvider(Qt3DCore::QNode *parent = Q_NULLPTR)
| QAbstractTextureProvider(Target target, Qt3DCore::QNode *parent = Q_NULLPTR)
| QAbstractTextureProvider(QAbstractTextureProviderPrivate &dd, Qt3DCore::QNode *parent = Q_NULLPTR)
void | copy(const Qt3DCore::QNode *ref)
void | setStatus(Status status)

- 3 protected functions inherited from Qt3DCore::QNode

### Additional Inherited Members

- 1 static protected member inherited from Qt3DCore::QNode

## Detailed Description

A base class to be used to provide textures.

The QAbstractTextureProvider class shouldn't be used directly but rather through one of its subclasses. Each subclass implements a given texture target (2D, 2DArray, 3D, CubeMap ...) Each subclass provides a set of functors for each layer, cube map face and mipmap level. In turn the backend uses those functor to properly fill a corresponding OpenGL texture with data.

## Member Type Documentation

### enum QAbstractTextureProvider::ComparisonFunction

### enum QAbstractTextureProvider::ComparisonMode

### enum QAbstractTextureProvider::CubeMapFace

### enum QAbstractTextureProvider::Filter

### enum QAbstractTextureProvider::Status

### enum QAbstractTextureProvider::Target

### enum QAbstractTextureProvider::TextureFormat

## Property Documentation

### comparisonFunction : ComparisonFunction

Holds the comparison function of the texture provider.

Access functions:

ComparisonFunction | comparisonFunction() const
void | setComparisonFunction(ComparisonFunction function)

Notifier signal:

void | comparisonFunctionChanged(ComparisonFunction comparisonFunction)

### comparisonMode : ComparisonMode

Holds the comparison mode of the texture provider.

Access functions:

ComparisonMode | comparisonMode() const
void | setComparisonMode(ComparisonMode mode)

Notifier signal:

void | comparisonModeChanged(ComparisonMode comparisonMode)

### depth : int

Holds the depth of the texture provider.

Access functions:

int | depth() const
void | setDepth(int depth)

Notifier signal:

void | depthChanged(int depth)

### format : TextureFormat

Holds the format of the texture provider.

Access functions:

TextureFormat | format() const
void | setFormat(TextureFormat format)

Notifier signal:

void | formatChanged(TextureFormat format)

### generateMipMaps : bool

Holds whether the texture provider should auto generate mipmaps.

Access functions:

bool | generateMipMaps() const
void | setGenerateMipMaps(bool gen)

Notifier signal:

void | generateMipMapsChanged(bool generateMipMaps)

### height : int

Holds the height of the texture provider.

Access functions:

int | height() const
void | setHeight(int height)

Notifier signal:

void | heightChanged(int height)

### magnificationFilter : Filter

Holds the magnification filter of the texture provider.

Access functions:

Filter | magnificationFilter() const
void | setMagnificationFilter(Filter f)

Notifier signal:

void | magnificationFilterChanged(Filter magnificationFilter)

### maximumAnisotropy : float

Holds the maximum anisotropy of the texture provider.

Access functions:

float | maximumAnisotropy() const
void | setMaximumAnisotropy(float anisotropy)

Notifier signal:

void | maximumAnisotropyChanged(float maximumAnisotropy)

### maximumLayers : int

Holds the maximum layer count of the texture provider. By default, the maximum layer count is 1.

Note: this has a meaning only for texture providers that have 3D or array target formats.

Access functions:

int | maximumLayers() const
void | setMaximumLayers(int maximumLayers)

Notifier signal:

void | maximumLayersChanged(int maximumLayers)

### minificationFilter : Filter

Holds the minification filter of the texture provider.

Access functions:

Filter | minificationFilter() const
void | setMinificationFilter(Filter f)

Notifier signal:

void | minificationFilterChanged(Filter minificationFilter)

### status : const Status

Holds the current status of the texture provider.

Access functions:

Status | status() const

Notifier signal:

void | statusChanged(Status status)

### target : const Target

Holds the target format of the texture provider.

Note: The target format can only be set once.

Access functions:

Target | target() const

### unique : bool

Sets whether this texture provider should be unique by reading unique. By default this is false.

By default the renderer based on the attributes of texture providers is able to compare them and detect duplicates (same size, format and image sources) and smartly avoid unnecessary computations. In some cases however (texture providers used as Qt3DCore::RenderTarget attachments) you don't want the renderer to perform these comparison, in which case you can set is unique to true.

Access functions:

bool | isUnique() const
void | setUnique(bool unique)

Notifier signal:

void | uniqueChanged(bool unique)

### width : int

Holds the width of the texture provider.

Access functions:

int | width() const
void | setWidth(int width)

Notifier signal:

void | widthChanged(int width)

### wrapMode : Qt3DRender::QTextureWrapMode * const

Holds the wrap mode of the texture provider.

Access functions:

QTextureWrapMode * | wrapMode()

## Member Function Documentation

### `[protected]` QAbstractTextureProvider::QAbstractTextureProvider(Qt3DCore::QNode *parent = Q_NULLPTR)

Default constructs an instance of QAbstractTextureProvider.

### `[protected]` QAbstractTextureProvider::QAbstractTextureProvider(Target target, Qt3DCore::QNode *parent = Q_NULLPTR)

Default constructs an instance of QAbstractTextureProvider.

### `[protected]` QAbstractTextureProvider::QAbstractTextureProvider(QAbstractTextureProviderPrivate &dd, Qt3DCore::QNode *parent = Q_NULLPTR)

Copy constructor.

### QAbstractTextureProvider::~QAbstractTextureProvider()

Destroys the instance of QAbstractTextureProvider.

### void QAbstractTextureProvider::addTextureImage(QAbstractTextureImage *textureImage)

Adds a new Qt3DCore::QAbstractTextureImage textureImage to the texture provider.

Note: Qt3DRender::QAbstractTextureImage should never be shared between multiple Qt3DRender::QAbstractTextureProvider instances.

### `[protected]` void QAbstractTextureProvider::copy(const Qt3DCore::QNode *ref)

### TextureFormat QAbstractTextureProvider::format() const

Return the texture provider's format.

Note: Getter function for property format.

See also setFormat().

### bool QAbstractTextureProvider::isUnique() const

Returns whether the texture should be shared with other textures in the renderer or not. Defaults to false as this allow in most cases the renderer to be faster.

Note: Getter function for property unique.

### int QAbstractTextureProvider::maximumLayers() const

Returns the maximum number of layers for the texture provider.

Note: this has a meaning only for texture providers that have 3D or array target formats.

Note: Getter function for property maximumLayers.

See also setMaximumLayers().

### void QAbstractTextureProvider::removeTextureImage(QAbstractTextureImage *textureImage)

Removes a Qt3DCore::QAbstractTextureImage textureImage from the texture provider.

### void QAbstractTextureProvider::setSize(int w, int h = 1, int d = 1)

Sets the size of the texture provider to width w, height h and depth d.

### `[protected]` void QAbstractTextureProvider::setStatus(Status status)

See also status().

### void QAbstractTextureProvider::setWrapMode(const QTextureWrapMode &wrapMode)

See also wrapMode().

### QList<QAbstractTextureImage *> QAbstractTextureProvider::textureImages() const

Returns a list of pointers to QAbstractTextureImage objects contained in the texture provider.