![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
\qmltype RenderOutputProvider \inqmlmodule QtQuick3D.Helpers \inherits TextureProviderExtension More...
Public Types | |
enum class | SourceType { None , BuiltInPass , None , BuiltInPass } |
enum class | SourceType { None , BuiltInPass , None , BuiltInPass } |
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 , 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 , 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 } |
using | TypeT = std::underlying_type_t<Type> |
using | FlagT = std::underlying_type_t<Flags> |
Public Member Functions | |
QSSGRenderOutputProviderExtension (QQuick3DRenderOutputProvider *ext) | |
~QSSGRenderOutputProviderExtension () 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. | |
QSSGRenderOutputProviderExtension (QQuick3DRenderOutputProvider *ext) | |
~QSSGRenderOutputProviderExtension () 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 | |
SourceType | m_sourceType = SourceType::BuiltInPass |
QSSGFrameData::RenderResult | m_builtInPass = QSSGFrameData::RenderResult::DepthTexture |
QSSGResourceId | userPassId = QSSGResourceId::Invalid |
bool | m_isDirty = true |
QPointer< QQuick3DRenderOutputProvider > | m_ext |
Public Attributes inherited from QSSGRenderGraphObject | |
const Type | type |
FlagT | flags { 0 } |
Additional Inherited Members | |
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) |
\qmltype RenderOutputProvider \inqmlmodule QtQuick3D.Helpers \inherits TextureProviderExtension
Used as a bridge to use access textures provided by passes.
This type is used to provide textures that are the results of passes in the rendering pipeline. Some example of when this is useful is when you want to access the depth texture result of the ZPrePass, or the ambient occlusion texture result of the SSAO pass. This type can be used to access these results textures and use them in materials or effects.
\qmlproperty RenderOutputProvider::TextureSource textureSource This property holds which pass buffer texture to use.
\value RenderOutputProvider.AoTexture The ambient occlusion texture created by the SSAO pass. \value RenderOutputProvider.DepthTexture The depth texture created by the ZPrePass. \value RenderOutputProvider.ScreenTexture The texture containing the rendered scene. \value RenderOutputProvider.UserPassTexture A user defined pass. If this is used to access a user defined pass.
Definition at line 47 of file qquick3drenderoutputprovider.cpp.
|
strong |
Enumerator | |
---|---|
None | |
BuiltInPass | |
None | |
BuiltInPass |
Definition at line 50 of file qquick3drenderoutputprovider.cpp.
|
strong |
Enumerator | |
---|---|
None | |
BuiltInPass | |
None | |
BuiltInPass |
Definition at line 50 of file qquick3drenderoutputprovider.cpp.
|
explicit |
Definition at line 72 of file qquick3drenderoutputprovider.cpp.
References QSSGRenderOutputProviderExtension().
Referenced by QSSGRenderOutputProviderExtension().
|
override |
Definition at line 78 of file qquick3drenderoutputprovider.cpp.
|
explicit |
|
override |
|
overridevirtual |
Called after scene data is collected, but before any render data or rendering in the current frame has been done.
true
if the there are dirty data that needs to be rendered.Implements QSSGRenderExtension.
Definition at line 83 of file qquick3drenderoutputprovider.cpp.
References BuiltInPass, m_isDirty, m_sourceType, and None.
|
overridevirtual |
Called after scene data is collected, but before any render data or rendering in the current frame has been done.
true
if the there are dirty data that needs to be rendered.Implements QSSGRenderExtension.
|
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.
Implements QSSGRenderExtension.
Definition at line 114 of file qquick3drenderoutputprovider.cpp.
References BuiltInPass, m_isDirty, and m_sourceType.
|
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.
Implements QSSGRenderExtension.
|
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.
Implements QSSGRenderExtension.
Definition at line 131 of file qquick3drenderoutputprovider.cpp.
|
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.
Implements QSSGRenderExtension.
|
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 136 of file qquick3drenderoutputprovider.cpp.
|
overridevirtual |
Called each time a new frame starts.
Any data from the previous frame should be cleared at this point.
Implements QSSGRenderExtension.
QSSGFrameData::RenderResult QSSGRenderOutputProviderExtension::m_builtInPass = QSSGFrameData::RenderResult::DepthTexture |
Definition at line 63 of file qquick3drenderoutputprovider.cpp.
QPointer< QQuick3DRenderOutputProvider > QSSGRenderOutputProviderExtension::m_ext |
Definition at line 67 of file qquick3drenderoutputprovider.cpp.
bool QSSGRenderOutputProviderExtension::m_isDirty = true |
Definition at line 65 of file qquick3drenderoutputprovider.cpp.
Referenced by prepareData(), and prepareRender().
SourceType QSSGRenderOutputProviderExtension::m_sourceType = SourceType::BuiltInPass |
Definition at line 62 of file qquick3drenderoutputprovider.cpp.
Referenced by prepareData(), and prepareRender().
QSSGResourceId QSSGRenderOutputProviderExtension::userPassId = QSSGResourceId::Invalid |
Definition at line 64 of file qquick3drenderoutputprovider.cpp.