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
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// Qt-Security score:significant reason:default
5
6
7#include <QtQuick3DRuntimeRender/private/qssgrenderlight_p.h>
8
9QT_BEGIN_NAMESPACE
10
11QSSGRenderLight::QSSGRenderLight(QSSGRenderGraphObject::Type type)
12 : QSSGRenderNode(type)
13 , m_scope(nullptr)
14 , m_diffuseColor(1, 1, 1)
15 , m_specularColor(1, 1, 1)
16 , m_ambientColor(0, 0, 0)
17 , m_brightness(1)
18 , m_constantFade(1)
19 , m_linearFade(0)
20 , m_quadraticFade(1)
21 , m_coneAngle(40.0f)
22 , m_innerConeAngle(30.0f)
23 , m_castShadow(false)
24 , m_shadowBias(10.0f)
25 , m_shadowFactor(75.0f)
26 , m_shadowMapRes(512)
27 , m_shadowMapFar(5000.0f)
28 , m_shadowFilter(35.0f)
29{
30 Q_ASSERT(QSSGRenderGraphObject::isLight(type));
31 markDirty(DirtyFlag::LightDirty);
32}
33
34void QSSGRenderLight::markDirty(DirtyFlag dirtyFlag)
35{
36 m_lightDirtyFlags |= FlagT(dirtyFlag);
37 QSSGRenderNode::markDirty(QSSGRenderNode::DirtyFlag::SubNodeDirty);
38}
39
40void QSSGRenderLight::clearDirty(DirtyFlag dirtyFlag)
41{
42 m_lightDirtyFlags &= ~FlagT(dirtyFlag);
43 QSSGRenderNode::clearDirty(QSSGRenderNode::DirtyFlag::SubNodeDirty);
44}
45
46QT_END_NAMESPACE