Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QSSGRenderGraphObject Class Reference

#include <qssgrendergraphobject.h>

+ Inheritance diagram for QSSGRenderGraphObject:
+ Collaboration diagram for QSSGRenderGraphObject:

Public Types

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 , 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
}
 
enum class  Flags : quint32 { HasGraphicsResources = 0x1 }
 
using TypeT = std::underlying_type_t<Type>
 
using FlagT = std::underlying_type_t<Flags>
 

Public Member Functions

bool hasGraphicsResources () const noexcept
 
virtual Q_QUICK3D_PROFILE_ID_ ~QSSGRenderGraphObject ()
 

Static Public Member Functions

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

const Type type
 
FlagT flags { 0 }
 

Protected Member Functions

 QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType)
 
 QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType, FlagT inFlags)
 

Friends

Q_QUICK3DRUNTIMERENDER_EXPORT QDebug operator<< (QDebug stream, QSSGRenderGraphObject::Type type)
 

Detailed Description

Definition at line 36 of file qssgrendergraphobject.h.

Member Typedef Documentation

◆ FlagT

using QSSGRenderGraphObject::FlagT = std::underlying_type_t<Flags>

Definition at line 105 of file qssgrendergraphobject.h.

◆ TypeT

using QSSGRenderGraphObject::TypeT = std::underlying_type_t<Type>

Definition at line 100 of file qssgrendergraphobject.h.

Member Enumeration Documentation

◆ BaseType

Enumerator
Node 
Light 
Camera 
Renderable 
Resource 
Material 
Texture 
Extension 
User 

Definition at line 44 of file qssgrendergraphobject.h.

◆ Flags

Enumerator
HasGraphicsResources 

Definition at line 102 of file qssgrendergraphobject.h.

◆ Type

enum class QSSGRenderGraphObject::Type : quint32
strong
Enumerator
Unknown 
Node 
Layer 
Joint 
Skeleton 
ImportScene 
ReflectionProbe 
DirectionalLight 
PointLight 
SpotLight 
OrthographicCamera 
PerspectiveCamera 
CustomFrustumCamera 
CustomCamera 
Model 
Item2D 
Particles 
SceneEnvironment 
Effect 
Geometry 
TextureData 
MorphTarget 
ModelInstance 
ModelBlendParticle 
ResourceLoader 
DefaultMaterial 
PrincipledMaterial 
CustomMaterial 
SpecularGlossyMaterial 
Skin 
Image2D 
ImageCube 
RenderExtension 

Definition at line 57 of file qssgrendergraphobject.h.

Constructor & Destructor Documentation

◆ ~QSSGRenderGraphObject()

QSSGRenderGraphObject::~QSSGRenderGraphObject ( )
virtual

Definition at line 69 of file qssgrendergraphobject.cpp.

◆ QSSGRenderGraphObject() [1/2]

QSSGRenderGraphObject::QSSGRenderGraphObject ( QSSGRenderGraphObject::Type inType)
explicitprotected

◆ QSSGRenderGraphObject() [2/2]

QSSGRenderGraphObject::QSSGRenderGraphObject ( QSSGRenderGraphObject::Type inType,
FlagT inFlags )
inlineexplicitprotected

Definition at line 173 of file qssgrendergraphobject.h.

Member Function Documentation

◆ hasGraphicsResources()

bool QSSGRenderGraphObject::hasGraphicsResources ( ) const
inlinenoexcept

Definition at line 156 of file qssgrendergraphobject.h.

◆ isCamera()

static constexpr bool QSSGRenderGraphObject::isCamera ( Type type)
inlinestaticconstexprnoexcept

Definition at line 117 of file qssgrendergraphobject.h.

Referenced by QSSGRenderCamera::QSSGRenderCamera(), QQuick3DExtensionHelpers::getCameraId(), QSSGRenderGraphObjectUtils::getCameraId(), QSSGCameraHelpers::getViewProjectionMatrix(), maybeQueueNodeForRender(), and QSSGRenderHelpers::prepareForRender().

+ Here is the caller graph for this function:

◆ isExtension()

static constexpr bool QSSGRenderGraphObject::isExtension ( Type type)
inlinestaticconstexprnoexcept

Definition at line 142 of file qssgrendergraphobject.h.

Referenced by QQuick3DObjectPrivate::addToDirtyList(), QQuick3DSceneManager::extensionListIndex(), QQuick3DExtensionHelpers::getExtensionId(), QSSGRenderGraphObjectUtils::getExtensionId(), and QQuick3DSceneRenderer::synchronize().

+ Here is the caller graph for this function:

◆ isLight()

static constexpr bool QSSGRenderGraphObject::isLight ( Type type)
inlinestaticconstexprnoexcept

Definition at line 112 of file qssgrendergraphobject.h.

Referenced by QSSGRenderLight::QSSGRenderLight(), maybeQueueNodeForRender(), and QQuick3DSceneManager::nodeListIndex().

+ Here is the caller graph for this function:

◆ isMaterial()

static constexpr bool QSSGRenderGraphObject::isMaterial ( Type type)
inlinestaticconstexprnoexcept

Definition at line 122 of file qssgrendergraphobject.h.

Referenced by QSSGLayerRenderData::setModelMaterials().

+ Here is the caller graph for this function:

◆ isNodeType()

static constexpr bool QSSGRenderGraphObject::isNodeType ( Type type)
inlinestaticconstexprnoexcept

Definition at line 107 of file qssgrendergraphobject.h.

Referenced by QQuick3DNode::QQuick3DNode(), QQuick3DObjectPrivate::addToDirtyList(), QQuick3DSceneManager::cleanupNodes(), QQuick3DExtensionHelpers::getNodeId(), QSSGRenderGraphObjectUtils::getNodeId(), QQuick3DSceneManager::nodeListIndex(), and QQuick3DSceneManager::resourceListIndex().

+ Here is the caller graph for this function:

◆ isRenderable()

static constexpr bool QSSGRenderGraphObject::isRenderable ( Type type)
inlinestaticconstexprnoexcept

Definition at line 132 of file qssgrendergraphobject.h.

Referenced by dfs(), and maybeQueueNodeForRender().

+ Here is the caller graph for this function:

◆ isResource()

static constexpr bool QSSGRenderGraphObject::isResource ( Type type)
inlinestaticconstexprnoexcept

Definition at line 137 of file qssgrendergraphobject.h.

Referenced by QSSGSceneDesc::addNode(), QQuick3DExtensionHelpers::getResourceId(), QSSGRenderGraphObjectUtils::getResourceId(), QSSGQmlUtilities::writeQmlForNode(), and QSSGQmlUtilities::writeQmlForResourceNode().

+ Here is the caller graph for this function:

◆ isTexture()

static constexpr bool QSSGRenderGraphObject::isTexture ( Type type)
inlinestaticconstexprnoexcept

Definition at line 127 of file qssgrendergraphobject.h.

Referenced by flagForType(), QQuick3DSceneManager::resourceListIndex(), QQuick3DSceneManager::updateDirtyResource(), QSSGQmlUtilities::valueToQml(), and QSSGQmlUtilities::writeQml().

+ Here is the caller graph for this function:

◆ isUserType()

static constexpr bool QSSGRenderGraphObject::isUserType ( Type type)
inlinestaticconstexprnoexcept

Definition at line 149 of file qssgrendergraphobject.h.

Friends And Related Symbol Documentation

◆ operator<<

Q_QUICK3DRUNTIMERENDER_EXPORT QDebug operator<< ( QDebug stream,
QSSGRenderGraphObject::Type type )
friend

Definition at line 72 of file qssgrendergraphobject.cpp.

Member Data Documentation

◆ flags

FlagT QSSGRenderGraphObject::flags { 0 }

Definition at line 162 of file qssgrendergraphobject.h.

◆ type


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