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
qquick3dpointlight.cpp
Go to the documentation of this file.
1// Copyright (C) 2019 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
5#include "qquick3dobject_p.h"
6
7#include <QtQuick3DRuntimeRender/private/qssgrenderlight_p.h>
8
9#include "qquick3dnode_p_p.h"
10
12
151
153{
154 return m_constantFade;
155}
156
158{
159 return m_linearFade;
160}
161
163{
164 return m_quadraticFade;
165}
166
168{
169 if (qFuzzyCompare(m_constantFade, constantFade))
170 return;
171
172 m_constantFade = constantFade;
175 update();
176}
177
179{
180 if (qFuzzyCompare(m_linearFade, linearFade))
181 return;
182
183 m_linearFade = linearFade;
186 update();
187}
188
190{
191 if (qFuzzyCompare(m_quadraticFade, quadraticFade))
192 return;
193
194 m_quadraticFade = quadraticFade;
197 update();
198}
199
201{
202 if (!node) {
203 markAllDirty();
204 node = new QSSGRenderLight(QSSGRenderLight::Type::PointLight);
205 }
206
207 QQuick3DAbstractLight::updateSpatialNode(node); // Marks the light node dirty if m_dirtyFlags != 0
208
209 QSSGRenderLight *light = static_cast<QSSGRenderLight *>(node);
210
211 if (m_dirtyFlags.testFlag(DirtyFlag::FadeDirty)) {
212 m_dirtyFlags.setFlag(DirtyFlag::FadeDirty, false);
213 light->m_constantFade = m_constantFade;
214 light->m_linearFade = m_linearFade;
215 light->m_quadraticFade = m_quadraticFade;
216 }
217
218 return node;
219}
220
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
void quadraticFadeChanged()
QQuick3DPointLight(QQuick3DNode *parent=nullptr)
\qmltype PointLight \inherits Light \inqmlmodule QtQuick3D
void constantFadeChanged()
void setConstantFade(float constantFade)
void setQuadraticFade(float quadraticFade)
void setLinearFade(float linearFade)
Combined button and popup list for selecting options.
bool qFuzzyCompare(qfloat16 p1, qfloat16 p2) noexcept
Definition qfloat16.h:333
#define emit
Definition moc.h:23