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

\inmodule QtQuick3D More...

#include <qssgrhicontext.h>

Collaboration diagram for QSSGRhiContext:

Public Member Functions

 QSSGRhiContext (QRhi *rhi)
 ~QSSGRhiContext ()
QRhirhi () const
bool isValid () const
QRhiRenderPassDescriptormainRenderPassDescriptor () const
QRhiCommandBuffercommandBuffer () const
QRhiRenderTargetrenderTarget () const
int mainPassSampleCount () const
 Returns the sample count used in the main render pass.
int mainPassViewCount () const
 Returns the multiview count used in the main render pass.
QRhiSamplersampler (const QSSGRhiSamplerDescription &samplerDescription)
void checkAndAdjustForNPoT (QRhiTexture *texture, QSSGRhiSamplerDescription *samplerDescription)
 Adjusts samplerDescription's tiling and filtering modes based on the pixel size of texture.
QRhiTexturedummyTexture (QRhiTexture::Flags flags, QRhiResourceUpdateBatch *rub, const QSize &size=QSize(64, 64), const QColor &fillColor=Qt::black, int arraySize=0)
QRhiCommandBuffer::BeginPassFlags commonPassFlags () const

Detailed Description

\inmodule QtQuick3D

Since
6.7

QSSGRhiContext.

Definition at line 97 of file qssgrhicontext.h.

Constructor & Destructor Documentation

◆ QSSGRhiContext()

QSSGRhiContext::QSSGRhiContext ( QRhi * rhi)
explicit

Definition at line 1038 of file qssgrhicontext.cpp.

◆ ~QSSGRhiContext()

QSSGRhiContext::~QSSGRhiContext ( )

Definition at line 1048 of file qssgrhicontext.cpp.

Member Function Documentation

◆ checkAndAdjustForNPoT()

void QSSGRhiContext::checkAndAdjustForNPoT ( QRhiTexture * texture,
QSSGRhiSamplerDescription * samplerDescription )

Adjusts samplerDescription's tiling and filtering modes based on the pixel size of texture.

In most cases, samplerDescription is not changed. With older, legacy 3D APIs in use, there is however a chance that tiling modes such as \l{QRhiSampler::Repeat} are not supported for textures with a non-power-of-two width or height.

This convenience function helps creating robust applications that can still function even when features such as \l{QRhi::NPOTTextureRepeat} are not supported by an OpenGL ES 2.0 or WebGL 1 implementation at run time.

Definition at line 1304 of file qssgrhicontext.cpp.

◆ commandBuffer()

QRhiCommandBuffer * QSSGRhiContext::commandBuffer ( ) const
Returns
The current frame's command buffer used by the Qt Quick 3D renderer.

Definition at line 1098 of file qssgrhicontext.cpp.

◆ commonPassFlags()

QRhiCommandBuffer::BeginPassFlags QSSGRhiContext::commonPassFlags ( ) const
Returns
The recommended flags when calling QRhiCommandBuffer::beginPass().

Definition at line 1719 of file qssgrhicontext.cpp.

◆ dummyTexture()

QRhiTexture * QSSGRhiContext::dummyTexture ( QRhiTexture::Flags flags,
QRhiResourceUpdateBatch * rub,
const QSize & size = QSize(64, 64),
const QColor & fillColor = Qt::black,
int arraySize = 0 )
Returns
a texture that has the specified flags and pixel size.

This is intended to efficiently gain access to a "dummy" texture filled with a given fillColor, and reused in various places in the rendering stack.

rub must be a valid QRhiResourceUpdateBatch since this function will create a new texture and generate content for it, if a suitable cached object is not found. The necessary upload operations are then enqueued on this given update batch.

When arraySize is 2 or more, a 2D texture array is returned.

The ownership of the returned texture stays with Qt Quick 3D.

Definition at line 1399 of file qssgrhicontext.cpp.

◆ isValid()

bool QSSGRhiContext::isValid ( ) const
Returns
true if the renderer is initialized successfully.

Definition at line 1069 of file qssgrhicontext.cpp.

◆ mainPassSampleCount()

int QSSGRhiContext::mainPassSampleCount ( ) const

Returns the sample count used in the main render pass.

Definition at line 1133 of file qssgrhicontext.cpp.

◆ mainPassViewCount()

int QSSGRhiContext::mainPassViewCount ( ) const

Returns the multiview count used in the main render pass.

This is either 2, when multiview rendering is in use, or 1 (no multiview).

Definition at line 1148 of file qssgrhicontext.cpp.

◆ mainRenderPassDescriptor()

QRhiRenderPassDescriptor * QSSGRhiContext::mainRenderPassDescriptor ( ) const
Returns
The QRhiRenderPassDescriptor used by the main render pass of the Qt Quick 3D renderer.

Definition at line 1084 of file qssgrhicontext.cpp.

◆ renderTarget()

QRhiRenderTarget * QSSGRhiContext::renderTarget ( ) const
Returns
The render target the Qt Quick 3D renderer uses for its main render pass in the current frame.

This can effectively be a render target from a swapchain, if the \l View3D uses a renderMode other than Offscreen. More commonly, the render target refers to a texture (i.e., is a QRhiTextureRenderTarget), e.g. because the renderMode is the default Offscreen, or because post-processing effects are in use.

Definition at line 1119 of file qssgrhicontext.cpp.

◆ rhi()

QRhi * QSSGRhiContext::rhi ( ) const
Returns
The QRhi object used by the Qt Quick 3D renderer.

Definition at line 1060 of file qssgrhicontext.cpp.

◆ sampler()

QRhiSampler * QSSGRhiContext::sampler ( const QSSGRhiSamplerDescription & samplerDescription)
Returns
a sampler with the filter and tiling modes specified in samplerDescription.

The generated QRhiSampler objects are cached and reused. Thus this is a convenient way to gain access to a QRhiSampler with the given settings, without having to create a new, dedicated object all the time.

The ownership of the returned QRhiSampler stays with Qt Quick 3D.

Definition at line 1267 of file qssgrhicontext.cpp.


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