En esta página

Qt3DRender::QSpotLight Class

class Qt3DRender::QSpotLight

Encapsula un objeto Spot Light en una escena Qt 3D. Más...

Cabecera: #include <QSpotLight>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
En QML: SpotLight
Hereda: Qt3DRender::QAbstractLight
Status: Obsoleto

Propiedades

Funciones públicas

QSpotLight(Qt3DCore::QNode *parent = nullptr)
float constantAttenuation() const
float cutOffAngle() const
float linearAttenuation() const
QVector3D localDirection() const
float quadraticAttenuation() const

Ranuras públicas

void setConstantAttenuation(float value)
void setCutOffAngle(float cutOffAngle)
void setLinearAttenuation(float value)
void setLocalDirection(const QVector3D &localDirection)
void setQuadraticAttenuation(float value)

Señales

void constantAttenuationChanged(float constantAttenuation)
void cutOffAngleChanged(float cutOffAngle)
void linearAttenuationChanged(float linearAttenuation)
void localDirectionChanged(const QVector3D &localDirection)
void quadraticAttenuationChanged(float quadraticAttenuation)

Descripción detallada

Un foco es una fuente de luz que emite un cono de luz en una dirección determinada.

Un foco utiliza tres factores de atenuación para describir cómo disminuye la intensidad de la luz con la distancia. Estos factores están diseñados para ser utilizados conjuntamente en el cálculo de la atenuación total. Para los materiales en Qt3D Extras se utiliza la siguiente fórmula, donde la distancia es la distancia de la luz a la superficie que se está renderizando:

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

Los materiales personalizados pueden elegir interpretar estos factores de forma diferente.

Documentación de Propiedades

constantAttenuation : float

Especifica la atenuación constante de la luz puntual.

Nota: El significado y uso exacto de esta propiedad depende de la implementación del material.

Funciones de acceso:

float constantAttenuation() const
void setConstantAttenuation(float value)

Señal de aviso:

void constantAttenuationChanged(float constantAttenuation)

cutOffAngle : float

Especifica el ángulo de corte de la luz puntual.

Nota: El significado y uso exacto de esta propiedad depende de la implementación del material.

Funciones de acceso:

float cutOffAngle() const
void setCutOffAngle(float cutOffAngle)

Señal de aviso:

void cutOffAngleChanged(float cutOffAngle)

linearAttenuation : float

Especifica la atenuación lineal de la luz puntual.

Nota: El significado y uso exacto de esta propiedad depende de la implementación del material.

Funciones de acceso:

float linearAttenuation() const
void setLinearAttenuation(float value)

Señal notificadora:

void linearAttenuationChanged(float linearAttenuation)

localDirection : QVector3D

Especifica la dirección local de la luz puntual.

Nota: El significado y uso exacto de esta propiedad depende de la implementación del material.

Funciones de acceso:

QVector3D localDirection() const
void setLocalDirection(const QVector3D &localDirection)

Señal de aviso:

void localDirectionChanged(const QVector3D &localDirection)

quadraticAttenuation : float

Especifica la atenuación cuadrática de la luz puntual.

Nota: El significado y uso exacto de esta propiedad depende de la implementación del material.

Funciones de acceso:

float quadraticAttenuation() const
void setQuadraticAttenuation(float value)

Señal notificadora:

void quadraticAttenuationChanged(float quadraticAttenuation)

Documentación de la función miembro

[explicit] QSpotLight::QSpotLight(Qt3DCore::QNode *parent = nullptr)

Construye un nuevo QSpotLight con el parent especificado.

© 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.