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
QSSGRenderParticles Struct Reference

#include <qssgrenderparticles_p.h>

+ Inheritance diagram for QSSGRenderParticles:
+ Collaboration diagram for QSSGRenderParticles:

Public Types

enum class  BlendMode : quint8 { SourceOver = 0 , Screen , Multiply }
 
enum class  FeatureLevel : quint8 {
  Simple = 0 , Mapped , Animated , SimpleVLight ,
  MappedVLight , AnimatedVLight , Line , LineMapped ,
  LineAnimated , LineVLight , LineMappedVLight , LineAnimatedVLight
}
 
- Public Types inherited from QSSGRenderNode
enum class  LocalState : quint8 { Active = 1 << 0 , Pickable = 1 << 1 }
 
enum class  GlobalState : quint8 { Active = 1 << 2 , Pickable = 1 << 3 }
 
enum class  DirtyFlag : quint32 {
  TransformDirty = 1 << 4 , OpacityDirty = 1 << 5 , ActiveDirty = 1 << 6 , PickableDirty = 1 << 7 ,
  SubNodeDirty = 1 << 8 , GlobalValuesDirty = TransformDirty | OpacityDirty | ActiveDirty | PickableDirty , DirtyMask = GlobalValuesDirty | SubNodeDirty
}
 
using FlagT = std::underlying_type_t<DirtyFlag>
 
using ChildList = QSSGInvasiveLinkedList<QSSGRenderNode, &QSSGRenderNode::previousSibling, &QSSGRenderNode::nextSibling>
 
- 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 , 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

 QSSGRenderParticles ()
 
 ~QSSGRenderParticles ()=default
 
- Public Member Functions inherited from QSSGRenderNode
 QSSGRenderNode ()
 
 QSSGRenderNode (Type type)
 
 ~QSSGRenderNode () override
 
void markDirty (DirtyFlag dirtyFlag)
 
void clearDirty (DirtyFlag dirtyFlag)
 
constexpr bool isDirty (DirtyFlag dirtyFlag=DirtyFlag::DirtyMask) const
 
void setState (LocalState state, bool on=true)
 
constexpr bool getLocalState (LocalState stateFlag) const
 
constexpr bool getGlobalState (GlobalState stateFlag) const
 
void addChild (QSSGRenderNode &inChild)
 
void removeChild (QSSGRenderNode &inChild)
 
void removeFromGraph ()
 
bool calculateGlobalVariables ()
 
QSSGBounds3 getBounds (QSSGBufferManager &inManager, bool inIncludeChildren=true) const
 
QSSGBounds3 getChildBounds (QSSGBufferManager &inManager) const
 
QVector3D getGlobalPos () const
 
QVector3D getGlobalPivot () const
 
QVector3D getDirection () const
 
QVector3D getScalingCorrectDirection () const
 
void calculateMVPAndNormalMatrix (const QMatrix4x4 &inViewProjection, QMatrix4x4 &outMVP, QMatrix3x3 &outNormalMatrix) const
 
QMatrix3x3 calculateNormalMatrix () const
 
- Public Member Functions inherited from QSSGRenderGraphObject
bool hasGraphicsResources () const noexcept
 
virtual Q_QUICK3D_PROFILE_ID_ ~QSSGRenderGraphObject ()
 

Public Attributes

QSSGParticleBuffer m_particleBuffer
 
QVarLengthArray< QSSGRenderLight *, 4 > m_lights
 
QSSGRenderParticles::BlendMode m_blendMode = BlendMode::SourceOver
 
QSSGRenderImagem_sprite = nullptr
 
int m_spriteImageCount = 1
 
float m_depthBiasSq = 0.0f
 
float m_sizeModifier = 0.0f
 
float m_alphaFade = 0.0f
 
float m_texcoordScale = 1.0f
 
bool m_blendImages = true
 
bool m_billboard = true
 
bool m_hasTransparency = true
 
bool m_depthSorting = false
 
QSSGRenderImagem_colorTable = nullptr
 
QSSGRenderParticles::FeatureLevel m_featureLevel = FeatureLevel::Simple
 
bool m_castsReflections = true
 
- Public Attributes inherited from QSSGRenderNode
QVector3D pivot
 
int staticFlags = 0
 
float localOpacity = 1.0f
 
FlagT flags { FlagT(DirtyFlag::GlobalValuesDirty) | FlagT(LocalState::Active) }
 
QMatrix4x4 localTransform
 
QMatrix4x4 globalTransform
 
QMatrix4x4 localInstanceTransform
 
QMatrix4x4 globalInstanceTransform
 
float globalOpacity = 1.0f
 
QSSGRenderNodeparent = nullptr
 
QSSGRenderNodenextSibling = nullptr
 
QSSGRenderNodepreviousSibling = nullptr
 
QSSGRenderNodeinstanceRoot = nullptr
 
quint32 dfsIndex = 0
 
ChildList children
 
QString debugObjectName
 
- Public Attributes inherited from QSSGRenderGraphObject
const Type type
 
FlagT flags { 0 }
 

Additional Inherited Members

- Static Public Member Functions inherited from QSSGRenderNode
static QMatrix4x4 calculateTransformMatrix (QVector3D position, QVector3D scale, QVector3D pivot, QQuaternion rotation)
 
static void calculateMVPAndNormalMatrix (const QMatrix4x4 &globalTransfor, const QMatrix4x4 &inViewProjection, QMatrix4x4 &outMVP, QMatrix3x3 &outNormalMatrix)
 
static float signedSquared (float val)
 
- 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
 
- Static Public Attributes inherited from QSSGRenderNode
static constexpr QVector3D initScale { 1.0f, 1.0f, 1.0f }
 
- Protected Member Functions inherited from QSSGRenderGraphObject
 QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType)
 
 QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType, FlagT inFlags)
 

Detailed Description

Definition at line 115 of file qssgrenderparticles_p.h.

Member Enumeration Documentation

◆ BlendMode

Enumerator
SourceOver 
Screen 
Multiply 

Definition at line 117 of file qssgrenderparticles_p.h.

◆ FeatureLevel

Enumerator
Simple 
Mapped 
Animated 
SimpleVLight 
MappedVLight 
AnimatedVLight 
Line 
LineMapped 
LineAnimated 
LineVLight 
LineMappedVLight 
LineAnimatedVLight 

Definition at line 123 of file qssgrenderparticles_p.h.

Constructor & Destructor Documentation

◆ QSSGRenderParticles()

QSSGRenderParticles::QSSGRenderParticles ( )

Definition at line 115 of file qssgrenderparticles.cpp.

◆ ~QSSGRenderParticles()

QSSGRenderParticles::~QSSGRenderParticles ( )
default

Member Data Documentation

◆ m_alphaFade

float QSSGRenderParticles::m_alphaFade = 0.0f

Definition at line 150 of file qssgrenderparticles_p.h.

◆ m_billboard

bool QSSGRenderParticles::m_billboard = true

Definition at line 153 of file qssgrenderparticles_p.h.

◆ m_blendImages

bool QSSGRenderParticles::m_blendImages = true

Definition at line 152 of file qssgrenderparticles_p.h.

◆ m_blendMode

QSSGRenderParticles::BlendMode QSSGRenderParticles::m_blendMode = BlendMode::SourceOver

Definition at line 145 of file qssgrenderparticles_p.h.

◆ m_castsReflections

bool QSSGRenderParticles::m_castsReflections = true

◆ m_colorTable

QSSGRenderImage* QSSGRenderParticles::m_colorTable = nullptr

◆ m_depthBiasSq

float QSSGRenderParticles::m_depthBiasSq = 0.0f

Definition at line 148 of file qssgrenderparticles_p.h.

◆ m_depthSorting

bool QSSGRenderParticles::m_depthSorting = false

Definition at line 155 of file qssgrenderparticles_p.h.

◆ m_featureLevel

QSSGRenderParticles::FeatureLevel QSSGRenderParticles::m_featureLevel = FeatureLevel::Simple

Definition at line 157 of file qssgrenderparticles_p.h.

◆ m_hasTransparency

bool QSSGRenderParticles::m_hasTransparency = true

◆ m_lights

QVarLengthArray<QSSGRenderLight *, 4> QSSGRenderParticles::m_lights

Definition at line 143 of file qssgrenderparticles_p.h.

◆ m_particleBuffer

QSSGParticleBuffer QSSGRenderParticles::m_particleBuffer

◆ m_sizeModifier

float QSSGRenderParticles::m_sizeModifier = 0.0f

Definition at line 149 of file qssgrenderparticles_p.h.

◆ m_sprite

QSSGRenderImage* QSSGRenderParticles::m_sprite = nullptr

◆ m_spriteImageCount

int QSSGRenderParticles::m_spriteImageCount = 1

Definition at line 147 of file qssgrenderparticles_p.h.

◆ m_texcoordScale

float QSSGRenderParticles::m_texcoordScale = 1.0f

Definition at line 151 of file qssgrenderparticles_p.h.


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