![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
\inmodule QtQuick3D More...
#include <qssgrenderextensions.h>
Public Types | |
| 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 , 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> |
Public Member Functions | |
| QSSGRenderExtension () | |
| virtual | ~QSSGRenderExtension () |
| virtual bool | prepareData (QSSGFrameData &data)=0 |
| Called after scene data is collected, but before any render data or rendering in the current frame has been done. | |
| virtual void | prepareRender (QSSGFrameData &data)=0 |
| Prepare data for rendering. | |
| virtual void | render (QSSGFrameData &data)=0 |
| Record the render pass. | |
| virtual void | resetForFrame ()=0 |
| Called each time a new frame starts. | |
| virtual RenderMode | mode () const =0 |
| virtual RenderStage | stage () const =0 |
| Public Member Functions inherited from QSSGRenderGraphObject | |
| bool | hasGraphicsResources () const noexcept |
| virtual Q_QUICK3D_PROFILE_ID_ | ~QSSGRenderGraphObject () |
Protected Member Functions | |
| 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) | |
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 |
| Public Attributes inherited from QSSGRenderGraphObject | |
| const Type | type |
| FlagT | flags { 0 } |
\inmodule QtQuick3D
Base class for extension backend node implementations.
Definition at line 92 of file qssgrenderextensions.h.
|
strong |
Specifies the render extension mode.
\value Standalone The rendering code is recorded in full during the render prepare phase. This will usually imply that there are some output crated for a preceding render extension(s). When this mode is used the \l prepareRender() and \l render() functions are both called during the frame's prepare phase.
\value Main The rendering code is recorded within the main render pass. In this mode the \l prepareRender() is called in the frame's prepare phase while \l render() is called the frame's render phase.
| Enumerator | |
|---|---|
| Standalone | |
| Main | |
Definition at line 95 of file qssgrenderextensions.h.
|
strong |
Specifies the order the extension will be called.
\value PreColor The rendering code is recorded and executed before the main (color) pass. \value PostColor The rendering code is recorded and executed after the main (color) pass.
| Enumerator | |
|---|---|
| PreColor | |
| PostColor | |
Definition at line 101 of file qssgrenderextensions.h.
| QSSGRenderExtension::QSSGRenderExtension | ( | ) |
Definition at line 247 of file qssgrenderextensions.cpp.
|
virtual |
Definition at line 253 of file qssgrenderextensions.cpp.
Constructor that allows users to specifying a user-type and flags for an extension.
Definition at line 237 of file qssgrenderextensions.cpp.
|
pure virtual |
Implemented in QSSGRenderSimpleQuadRenderer, QSSGRenderSimpleQuadRenderer, and QSSGRenderTextureProviderExtension.
Definition at line 343 of file qssgrenderextensions.cpp.
|
pure virtual |
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.Implemented in QSSGRenderOutputProviderExtension, QSSGRenderOutputProviderExtension, QSSGRenderSimpleQuadRenderer, and QSSGRenderSimpleQuadRenderer.
Definition at line 297 of file qssgrenderextensions.cpp.
|
pure virtual |
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.
Implemented in QSSGRenderOutputProviderExtension, QSSGRenderOutputProviderExtension, QSSGRenderSimpleQuadRenderer, and QSSGRenderSimpleQuadRenderer.
Definition at line 313 of file qssgrenderextensions.cpp.
|
pure virtual |
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.
Implemented in QSSGRenderOutputProviderExtension, QSSGRenderOutputProviderExtension, QSSGRenderSimpleQuadRenderer, and QSSGRenderSimpleQuadRenderer.
Definition at line 326 of file qssgrenderextensions.cpp.
|
pure virtual |
Called each time a new frame starts.
Any data from the previous frame should be cleared at this point.
Implemented in QSSGRenderOutputProviderExtension, QSSGRenderOutputProviderExtension, QSSGRenderSimpleQuadRenderer, and QSSGRenderSimpleQuadRenderer.
Definition at line 335 of file qssgrenderextensions.cpp.
|
pure virtual |
Implemented in QSSGRenderSimpleQuadRenderer, QSSGRenderSimpleQuadRenderer, and QSSGRenderTextureProviderExtension.
Definition at line 351 of file qssgrenderextensions.cpp.