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
QSSGQuadTextureProvider Class Reference
Inheritance diagram for QSSGQuadTextureProvider:
Collaboration diagram for QSSGQuadTextureProvider:

Public Member Functions

 QSSGQuadTextureProvider (QQuick3DQuadTextureProvider *ext)
 ~QSSGQuadTextureProvider () override
bool prepareData (QSSGFrameData &data) override
 Called after scene data is collected, but before any render data or rendering in the current frame has been done.
void prepareRender (QSSGFrameData &data) override
 Prepare data for rendering.
void render (QSSGFrameData &data) override
 Record the render pass.
void resetForFrame () override
 Called each time a new frame starts.
 QSSGQuadTextureProvider (QQuick3DQuadTextureProvider *ext)
 ~QSSGQuadTextureProvider () override
bool prepareData (QSSGFrameData &data) override
 Called after scene data is collected, but before any render data or rendering in the current frame has been done.
void prepareRender (QSSGFrameData &data) override
 Prepare data for rendering.
void render (QSSGFrameData &data) override
 Record the render pass.
void resetForFrame () override
 Called each time a new frame starts.
Public Member Functions inherited from QSSGRenderTextureProviderExtension
 QSSGRenderTextureProviderExtension ()
 ~QSSGRenderTextureProviderExtension () override
RenderMode mode () const final
RenderStage stage () const final
Public Member Functions inherited from QSSGRenderExtension
 QSSGRenderExtension ()
virtual ~QSSGRenderExtension ()
Public Member Functions inherited from QSSGRenderGraphObject
bool hasGraphicsResources () const noexcept
virtual Q_QUICK3D_PROFILE_ID_ ~QSSGRenderGraphObject ()

Public Attributes

QQuick3DQuadTextureProvider::DirtyT dirtyFlag = 0
QByteArray fragmentShaderSource
QList< QSSGBaseTypePropertypropertyUniforms
QQuick3DTextureData::Format format = QQuick3DTextureData::Format::RGBA16F
int width = 128
int height = 128
QByteArray shaderPathKey = "quad texture provider --"
Public Attributes inherited from QSSGRenderGraphObject
const Type type
FlagT flags { 0 }

Additional Inherited Members

Public Types inherited from QSSGRenderExtension
enum class  RenderMode { Standalone , Main }
 Specifies the render extension mode. More...
enum class  RenderStage { PreColor , PostColor }
 Specifies the order the extension will be called. More...
Public Types inherited from QSSGRenderGraphObject
enum  BaseType : quint32 {
  Node = 0x1000 , Light = 0x2000 , Camera = 0x4000 , Renderable = 0x8000 ,
  Resource = 0x10000 , Material = 0x20000 , Texture = 0x40000 , Extension = 0x80000 ,
  User = 0x80000000
}
enum class  Type : quint32 {
  Unknown = 0 , Node = BaseType::Node , Root , Layer ,
  Joint , Skeleton , ImportScene , ReflectionProbe ,
  SceneRoot , DirectionalLight = BaseType::Light | BaseType::Node , PointLight , SpotLight ,
  OrthographicCamera = BaseType::Camera | BaseType::Node , PerspectiveCamera , CustomFrustumCamera , CustomCamera ,
  Model = BaseType::Renderable | BaseType::Node , Item2D , Particles , SceneEnvironment = BaseType::Resource ,
  Effect , Geometry , TextureData , MorphTarget ,
  ModelInstance , ModelBlendParticle , ResourceLoader , RenderPass ,
  SkyMaterial , DefaultMaterial = BaseType::Material | BaseType::Resource , PrincipledMaterial , CustomMaterial ,
  SpecularGlossyMaterial , Skin , Image2D = BaseType::Texture | BaseType::Resource , ImageCube ,
  RenderExtension = BaseType::Extension , TextureProvider
}
enum class  Flags : quint32 { HasGraphicsResources = 0x1 , InternallyReserved = 0xffff0000 }
using TypeT = std::underlying_type_t<Type>
using FlagT = std::underlying_type_t<Flags>
Static Public Member Functions inherited from QSSGRenderGraphObject
static constexpr bool isNodeType (Type type) noexcept
static constexpr bool isLight (Type type) noexcept
static constexpr bool isCamera (Type type) noexcept
static constexpr bool isMaterial (Type type) noexcept
static constexpr bool isTexture (Type type) noexcept
static constexpr bool isRenderable (Type type) noexcept
static constexpr bool isResource (Type type) noexcept
static constexpr bool isExtension (Type type) noexcept
static constexpr bool isUserType (Type type) noexcept
Protected Member Functions inherited from QSSGRenderExtension
 QSSGRenderExtension (Type inType, FlagT inFlags)
 Constructor that allows users to specifying a user-type and flags for an extension.
Protected Member Functions inherited from QSSGRenderGraphObject
 QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType)
 QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType, FlagT inFlags)

Detailed Description

Definition at line 372 of file qquick3dquadtextureprovider.cpp.

Constructor & Destructor Documentation

◆ QSSGQuadTextureProvider() [1/2]

QSSGQuadTextureProvider::QSSGQuadTextureProvider ( QQuick3DQuadTextureProvider * ext)
explicit

Definition at line 410 of file qquick3dquadtextureprovider.cpp.

Referenced by QQuick3DQuadTextureProvider::updateSpatialNode().

Here is the caller graph for this function:

◆ ~QSSGQuadTextureProvider() [1/2]

QSSGQuadTextureProvider::~QSSGQuadTextureProvider ( )
override

Definition at line 412 of file qquick3dquadtextureprovider.cpp.

◆ QSSGQuadTextureProvider() [2/2]

QSSGQuadTextureProvider::QSSGQuadTextureProvider ( QQuick3DQuadTextureProvider * ext)
explicit

◆ ~QSSGQuadTextureProvider() [2/2]

QSSGQuadTextureProvider::~QSSGQuadTextureProvider ( )
override

Member Function Documentation

◆ prepareData() [1/2]

bool QSSGQuadTextureProvider::prepareData ( QSSGFrameData & data)
overridevirtual

Called after scene data is collected, but before any render data or rendering in the current frame has been done.

Returns
Dirty state. Return true if the there are dirty data that needs to be rendered.
Note
Much of the data created/collected from the engine during the prepare and render phases is per-frame and should be released or assumed released at the start of the next frame
See also
QSSGFrameData

Implements QSSGRenderExtension.

Definition at line 414 of file qquick3dquadtextureprovider.cpp.

◆ prepareData() [2/2]

bool QSSGQuadTextureProvider::prepareData ( QSSGFrameData & data)
overridevirtual

Called after scene data is collected, but before any render data or rendering in the current frame has been done.

Returns
Dirty state. Return true if the there are dirty data that needs to be rendered.
Note
Much of the data created/collected from the engine during the prepare and render phases is per-frame and should be released or assumed released at the start of the next frame
See also
QSSGFrameData

Implements QSSGRenderExtension.

◆ prepareRender() [1/2]

void QSSGQuadTextureProvider::prepareRender ( QSSGFrameData & data)
overridevirtual

Prepare data for rendering.

Build and collect data needed for rendering. Any render extension scheduled before this one has been processed. In addition; any render extension of mode \l RenderMode::Standalone will, if successful, have been completed in full.

Note
Much of the data created/collected from the engine during the prepare and render phases is per-frame and should be released or assumed released at the start of the next frame
See also
QSSGFrameData

Implements QSSGRenderExtension.

Definition at line 510 of file qquick3dquadtextureprovider.cpp.

References g_vertexData.

◆ prepareRender() [2/2]

void QSSGQuadTextureProvider::prepareRender ( QSSGFrameData & data)
overridevirtual

Prepare data for rendering.

Build and collect data needed for rendering. Any render extension scheduled before this one has been processed. In addition; any render extension of mode \l RenderMode::Standalone will, if successful, have been completed in full.

Note
Much of the data created/collected from the engine during the prepare and render phases is per-frame and should be released or assumed released at the start of the next frame
See also
QSSGFrameData

Implements QSSGRenderExtension.

◆ render() [1/2]

void QSSGQuadTextureProvider::render ( QSSGFrameData & data)
overridevirtual

Record the render pass.

Depending on the extensions \l {RenderMode}{mode} this function will be called during the frame's prepare or render phase.

Use data to gain access to the render context from which the active QRhi object can be queried.

See also
QSSGRenderExtension::RenderMode

Implements QSSGRenderExtension.

Definition at line 628 of file qquick3dquadtextureprovider.cpp.

References height, and width.

◆ render() [2/2]

void QSSGQuadTextureProvider::render ( QSSGFrameData & data)
overridevirtual

Record the render pass.

Depending on the extensions \l {RenderMode}{mode} this function will be called during the frame's prepare or render phase.

Use data to gain access to the render context from which the active QRhi object can be queried.

See also
QSSGRenderExtension::RenderMode

Implements QSSGRenderExtension.

◆ resetForFrame() [1/2]

void QSSGQuadTextureProvider::resetForFrame ( )
overridevirtual

Called each time a new frame starts.

Any data from the previous frame should be cleared at this point.

Implements QSSGRenderExtension.

Definition at line 657 of file qquick3dquadtextureprovider.cpp.

◆ resetForFrame() [2/2]

void QSSGQuadTextureProvider::resetForFrame ( )
overridevirtual

Called each time a new frame starts.

Any data from the previous frame should be cleared at this point.

Implements QSSGRenderExtension.

Member Data Documentation

◆ dirtyFlag

QQuick3DQuadTextureProvider::DirtyT QSSGQuadTextureProvider::dirtyFlag = 0

Definition at line 382 of file qquick3dquadtextureprovider.cpp.

◆ format

Definition at line 386 of file qquick3dquadtextureprovider.cpp.

◆ fragmentShaderSource

QByteArray QSSGQuadTextureProvider::fragmentShaderSource

Definition at line 384 of file qquick3dquadtextureprovider.cpp.

◆ height

int QSSGQuadTextureProvider::height = 128

Definition at line 388 of file qquick3dquadtextureprovider.cpp.

Referenced by render().

◆ propertyUniforms

QList< QSSGBaseTypeProperty > QSSGQuadTextureProvider::propertyUniforms

Definition at line 385 of file qquick3dquadtextureprovider.cpp.

◆ shaderPathKey

QByteArray QSSGQuadTextureProvider::shaderPathKey = "quad texture provider --"

Definition at line 390 of file qquick3dquadtextureprovider.cpp.

◆ width

int QSSGQuadTextureProvider::width = 128

Definition at line 387 of file qquick3dquadtextureprovider.cpp.

Referenced by render().


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