Qt3DRender::QPointLight Class
class Qt3DRender::QPointLight在Qt 3D 场景中封装一个点光源对象。更多内容...
| 标题: | #include <qpointlight.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| 在 QML 中: | PointLight |
| 继承自: | Qt3DRender::QAbstractLight |
| 状态: | 已弃用 |
该类已弃用。我们强烈建议不要在新代码中使用它。
属性
- constantAttenuation : float
- linearAttenuation : float
- quadraticAttenuation : float
公共函数
| QPointLight(Qt3DCore::QNode *parent = nullptr) | |
| float | constantAttenuation() const |
| float | linearAttenuation() const |
| float | quadraticAttenuation() const |
公共槽位
| void | setConstantAttenuation(float value) |
| void | setLinearAttenuation(float value) |
| void | setQuadraticAttenuation(float value) |
信号
| void | constantAttenuationChanged(float constantAttenuation) |
| void | linearAttenuationChanged(float linearAttenuation) |
| void | quadraticAttenuationChanged(float quadraticAttenuation) |
详细说明
点光源是一种从单一点向各个方向发射光线的光源。从概念上讲,这类似于普通灯泡发出的光。
点光源使用三个衰减因子来描述光强度随距离的衰减情况。这些因子旨在共同用于计算总衰减量。对于 Qt3D Extras 中的材质,采用以下公式,其中距离是指从光源到被渲染表面的距离:
totalAttenuation = 1.0 / (constantAttenuation + (linearAttenuation * distance) + (quadraticAttenuation * distance * distance));自定义材质可能会采用不同的方式解释这些因子。
属性文档
constantAttenuation : float
指定点光源的恒定衰减。
注意: 该属性的确切含义和用法取决于具体实现。
访问函数:
| float | constantAttenuation() const |
| void | setConstantAttenuation(float value) |
通知信号:
| void | constantAttenuationChanged(float constantAttenuation) |
linearAttenuation : float
指定点光源的线性衰减。
注意: 该属性的确切含义和用法取决于具体实现。
访问函数:
| float | linearAttenuation() const |
| void | setLinearAttenuation(float value) |
通知信号:
| void | linearAttenuationChanged(float linearAttenuation) |
quadraticAttenuation : float
指定点光源的二次衰减。
注意: 该属性的确切含义和用法取决于具体实现。
访问函数:
| float | quadraticAttenuation() const |
| void | setQuadraticAttenuation(float value) |
通知信号:
| void | quadraticAttenuationChanged(float quadraticAttenuation) |
成员函数文档
[explicit] QPointLight::QPointLight(Qt3DCore::QNode *parent = nullptr)
使用指定的parent 创建一个新的QPointLight。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.