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

#include <qssgrenderskymaterial_p.h>

Inheritance diagram for QSSGRenderSkyMaterial:
Collaboration diagram for QSSGRenderSkyMaterial:

Public Types

enum class  SkyboxMode { Cubemap , ScreenSpaceFull , ScreenSpaceHalf , ScreenSpaceQuarter }
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>

Public Member Functions

 QSSGRenderSkyMaterial ()
 ~QSSGRenderSkyMaterial ()
QSSGRhiShaderPipelinePtr ensurePipeline (const QSSGRenderContextInterface &sgContext)
QSSGRhiShaderPipelinePtr ensureBackgroundPipeline (const QSSGRenderContextInterface &sgContext, const QSSGShaderFeatures &tonemapFeatures, quint32 tonemapKey, int viewCount)
quint32 updateUniforms (const QSSGRenderContextInterface &sgContext, const QMatrix4x4 &mvp, const QVarLengthArray< QMatrix4x4, 6 > views)
void updateBackgroundUniforms (const QSSGRenderContextInterface &sgContext, const QVarLengthArray< QMatrix4x4, 2 > &inverseProjections, const QVarLengthArray< QMatrix4x4, 2 > &viewRotations, float adjustY, float exposure)
Public Member Functions inherited from QSSGRenderGraphObject
bool hasGraphicsResources () const noexcept
virtual Q_QUICK3D_PROFILE_ID_ ~QSSGRenderGraphObject ()

Public Attributes

int radianceMapSize = 512
int iblSampleCount = 16
int iblSamplesPerFrame = 0
int iblRenderFrames = 0
SkyboxMode skyboxMode = SkyboxMode::Cubemap
bool wantsMoreFrames = false
bool enableIBL = false
QList< QSSGBaseTypePropertypropertyUniforms
QSSGRhiShaderPipelinePtr iblPassPipeline
QSSGRhiShaderPipelinePtr backgroundPipeline
QByteArray fragmentShaderSource
QByteArray shaderPathKey = "sky material --"
bool isDirty = true
bool isFragmentShaderDirty = true
bool isBackgroundShaderDirty = true
QSSGRhiShaderResourceBindingList bindings
QSSGRhiShaderResourceBindingList backgroundBindings
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 QSSGRenderGraphObject
 QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType)
 QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType, FlagT inFlags)

Detailed Description

Definition at line 28 of file qssgrenderskymaterial_p.h.

Member Enumeration Documentation

◆ SkyboxMode

Enumerator
Cubemap 
ScreenSpaceFull 
ScreenSpaceHalf 
ScreenSpaceQuarter 

Definition at line 32 of file qssgrenderskymaterial_p.h.

Constructor & Destructor Documentation

◆ QSSGRenderSkyMaterial()

QSSGRenderSkyMaterial::QSSGRenderSkyMaterial ( )

Definition at line 162 of file qssgrenderskymaterial.cpp.

◆ ~QSSGRenderSkyMaterial()

QSSGRenderSkyMaterial::~QSSGRenderSkyMaterial ( )
default

Member Function Documentation

◆ ensureBackgroundPipeline()

QSSGRhiShaderPipelinePtr QSSGRenderSkyMaterial::ensureBackgroundPipeline ( const QSSGRenderContextInterface & sgContext,
const QSSGShaderFeatures & tonemapFeatures,
quint32 tonemapKey,
int viewCount )

Definition at line 330 of file qssgrenderskymaterial.cpp.

◆ ensurePipeline()

QSSGRhiShaderPipelinePtr QSSGRenderSkyMaterial::ensurePipeline ( const QSSGRenderContextInterface & sgContext)

Definition at line 305 of file qssgrenderskymaterial.cpp.

◆ updateBackgroundUniforms()

void QSSGRenderSkyMaterial::updateBackgroundUniforms ( const QSSGRenderContextInterface & sgContext,
const QVarLengthArray< QMatrix4x4, 2 > & inverseProjections,
const QVarLengthArray< QMatrix4x4, 2 > & viewRotations,
float adjustY,
float exposure )

Definition at line 431 of file qssgrenderskymaterial.cpp.

◆ updateUniforms()

quint32 QSSGRenderSkyMaterial::updateUniforms ( const QSSGRenderContextInterface & sgContext,
const QMatrix4x4 & mvp,
const QVarLengthArray< QMatrix4x4, 6 > views )

Definition at line 365 of file qssgrenderskymaterial.cpp.

Member Data Documentation

◆ backgroundBindings

QSSGRhiShaderResourceBindingList QSSGRenderSkyMaterial::backgroundBindings

Definition at line 76 of file qssgrenderskymaterial_p.h.

◆ backgroundPipeline

QSSGRhiShaderPipelinePtr QSSGRenderSkyMaterial::backgroundPipeline

Definition at line 51 of file qssgrenderskymaterial_p.h.

◆ bindings

QSSGRhiShaderResourceBindingList QSSGRenderSkyMaterial::bindings

Definition at line 75 of file qssgrenderskymaterial_p.h.

◆ enableIBL

bool QSSGRenderSkyMaterial::enableIBL = false

Definition at line 40 of file qssgrenderskymaterial_p.h.

◆ fragmentShaderSource

QByteArray QSSGRenderSkyMaterial::fragmentShaderSource

Definition at line 67 of file qssgrenderskymaterial_p.h.

◆ iblPassPipeline

QSSGRhiShaderPipelinePtr QSSGRenderSkyMaterial::iblPassPipeline

Definition at line 48 of file qssgrenderskymaterial_p.h.

◆ iblRenderFrames

int QSSGRenderSkyMaterial::iblRenderFrames = 0

Definition at line 37 of file qssgrenderskymaterial_p.h.

◆ iblSampleCount

int QSSGRenderSkyMaterial::iblSampleCount = 16

Definition at line 35 of file qssgrenderskymaterial_p.h.

◆ iblSamplesPerFrame

int QSSGRenderSkyMaterial::iblSamplesPerFrame = 0

Definition at line 36 of file qssgrenderskymaterial_p.h.

◆ isBackgroundShaderDirty

bool QSSGRenderSkyMaterial::isBackgroundShaderDirty = true

Definition at line 73 of file qssgrenderskymaterial_p.h.

◆ isDirty

bool QSSGRenderSkyMaterial::isDirty = true

Definition at line 71 of file qssgrenderskymaterial_p.h.

◆ isFragmentShaderDirty

bool QSSGRenderSkyMaterial::isFragmentShaderDirty = true

Definition at line 72 of file qssgrenderskymaterial_p.h.

◆ propertyUniforms

QList<QSSGBaseTypeProperty> QSSGRenderSkyMaterial::propertyUniforms

Definition at line 45 of file qssgrenderskymaterial_p.h.

◆ radianceMapSize

int QSSGRenderSkyMaterial::radianceMapSize = 512

Definition at line 34 of file qssgrenderskymaterial_p.h.

◆ shaderPathKey

QByteArray QSSGRenderSkyMaterial::shaderPathKey = "sky material --"

Definition at line 69 of file qssgrenderskymaterial_p.h.

◆ skyboxMode

SkyboxMode QSSGRenderSkyMaterial::skyboxMode = SkyboxMode::Cubemap

Definition at line 38 of file qssgrenderskymaterial_p.h.

◆ wantsMoreFrames

bool QSSGRenderSkyMaterial::wantsMoreFrames = false

Definition at line 39 of file qssgrenderskymaterial_p.h.


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