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
qssgrenderlight.cpp
Go to the documentation of this file.
1
// Copyright (C) 2008-2012 NVIDIA Corporation.
2
// Copyright (C) 2019 The Qt Company Ltd.
3
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
4
5
#include <QtQuick3DRuntimeRender/private/qssgrenderlight_p.h>
6
7
QT_BEGIN_NAMESPACE
8
9
QSSGRenderLight::QSSGRenderLight
(
QSSGRenderGraphObject::Type
type
)
10
:
QSSGRenderNode
(
type
)
11
, m_scope(
nullptr
)
12
, m_diffuseColor(1, 1, 1)
13
, m_specularColor(1, 1, 1)
14
, m_ambientColor(0, 0, 0)
15
, m_brightness(1)
16
, m_constantFade(1)
17
, m_linearFade(0)
18
, m_quadraticFade(1)
19
, m_coneAngle(40.0f)
20
, m_innerConeAngle(30.0f)
21
, m_castShadow(
false
)
22
, m_shadowBias(0.0f)
23
, m_shadowFactor(5.0f)
24
, m_shadowMapRes(512)
25
, m_shadowMapFar(5000.0f)
26
, m_shadowFilter(35.0f)
27
{
28
Q_ASSERT
(
QSSGRenderGraphObject::isLight
(
type
));
29
markDirty
(
DirtyFlag::LightDirty
);
30
}
31
32
void
QSSGRenderLight::markDirty
(
DirtyFlag
dirtyFlag)
33
{
34
m_lightDirtyFlags
|=
FlagT
(dirtyFlag);
35
QSSGRenderNode::markDirty
(
QSSGRenderNode::DirtyFlag::SubNodeDirty
);
36
}
37
38
void
QSSGRenderLight::clearDirty
(
DirtyFlag
dirtyFlag)
39
{
40
m_lightDirtyFlags
&=
~FlagT
(dirtyFlag);
41
QSSGRenderNode::clearDirty
(
QSSGRenderNode::DirtyFlag::SubNodeDirty
);
42
}
43
44
QT_END_NAMESPACE
QSSGRenderGraphObject::Type
Type
Definition
qssgrendergraphobject.h:57
QSSGRenderGraphObject::isLight
static constexpr bool isLight(Type type) noexcept
Definition
qssgrendergraphobject.h:112
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1590
type
GLenum type
Definition
qopengles2ext.h:150
Q_ASSERT
#define Q_ASSERT(cond)
Definition
qrandom.cpp:47
nullptr
QObject::connect nullptr
Definition
src_corelib_kernel_qobject.cpp:255
false
return false
Definition
src_corelib_thread_qatomic.cpp:23
QSSGRenderLight::QSSGRenderLight
QSSGRenderLight(Type type=Type::DirectionalLight)
Definition
qssgrenderlight.cpp:9
QSSGRenderLight::clearDirty
void clearDirty(DirtyFlag dirtyFlag)
Definition
qssgrenderlight.cpp:38
QSSGRenderLight::DirtyFlag
DirtyFlag
Definition
qssgrenderlight_p.h:28
QSSGRenderLight::DirtyFlag::LightDirty
@ LightDirty
QSSGRenderLight::FlagT
std::underlying_type_t< DirtyFlag > FlagT
Definition
qssgrenderlight_p.h:31
QSSGRenderLight::m_lightDirtyFlags
FlagT m_lightDirtyFlags
Definition
qssgrenderlight_p.h:50
QSSGRenderLight::markDirty
void markDirty(DirtyFlag dirtyFlag)
Definition
qssgrenderlight.cpp:32
QSSGRenderNode
Definition
qssgrendernode_p.h:37
QSSGRenderNode::clearDirty
void clearDirty(DirtyFlag dirtyFlag)
Definition
qssgrendernode.cpp:44
QSSGRenderNode::DirtyFlag::SubNodeDirty
@ SubNodeDirty
QSSGRenderNode::markDirty
void markDirty(DirtyFlag dirtyFlag)
Definition
qssgrendernode.cpp:32
qtquick3d
src
runtimerender
graphobjects
qssgrenderlight.cpp
Generated by
1.10.0