QPointLight 类

class Qt3DRender::QPointLight

在 Qt 3D 场景中封装点光源对象。 更多信息...

头文件 #include <QPointLight>
CMakefind_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmakeQT += 3drender
实例化自 PointLight
继承自 Qt3DRender::QAbstractLight

属性

公共函数

QPointLight(Qt3DCore::QNode *parent = nullptr)
floatconstantAttenuation() const
floatlinearAttenuation() const
floatquadraticAttenuation() const

公共槽

voidsetConstantAttenuation(float value)
voidsetLinearAttenuation(float value)
voidsetQuadraticAttenuation(float value)

信号

voidconstantAttenuationChanged(float constantAttenuation)
voidlinearAttenuationChanged(float linearAttenuation)
voidquadraticAttenuationChanged(float quadraticAttenuation)

详细描述

点光源是一种从单个点向所有方向发射光的光源。概念上,这与标准灯泡发出的光类似。

点光源使用三个衰减因子来描述光强度随距离的衰减。这些因子旨在一起用于计算总衰减。对于 Qt3D Extras 中的材料,使用以下公式,其中距离是从光源到被渲染表面的距离

totalAttenuation = 1.0 / (constantAttenuation + (linearAttenuation * distance) + (quadraticAttenuation * distance * distance));

自定义材料可以选择不同地解释这些因子。

属性文档

constant_attenuation : float

指定点光源的常数衰减。

注意:此属性的精确含义和使用取决于材料实现。

访问函数

floatconstantAttenuation() const
voidsetConstantAttenuation(float value)

通知信号

voidconstantAttenuationChanged(float constantAttenuation)

线性衰减 : 浮点数

指定点光源的线性衰减。

注意:此属性的精确含义和使用取决于材料实现。

访问函数

float线性衰减() const
voidsetLinearAttenuation(float value)

通知信号

voidlinearAttenuationChanged(float linearAttenuation)

二次衰减 : 浮点数

指定点光源的二次衰减。

注意:此属性的精确含义和使用取决于材料实现。

访问函数

float二次衰减() const
voidsetQuadraticAttenuation(float value)

通知信号

voidquadraticAttenuationChanged(float quadraticAttenuation)

成员函数说明

[显式] QPointLight::QPointLight(Qt3DCore::QNode *parent = nullptr)

使用指定的 parent 构建一个新的 QPointLight。

© 2024 Qt 公司。本文件中的文档贡献均为各自所有者的版权。本文件中的文档根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款进行许可。Qt 及其相关商标为芬兰的 Qt 公司及其全球子公司的商标。所有其他商标均为其各自所有者的财产。