QSpotLight Class

( Qt3DRender::QSpotLight )

Encapsulate a Spot Light object in a Qt 3D scene. 更多...

頭: #include <QSpotLight>
qmake: QT += 3drender
Since: Qt 5.5
實例化: SpotLight
繼承: Qt3DRender::QAbstractLight

特性

公共函數

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

公共槽

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

信號

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

靜態公共成員

const QMetaObject staticMetaObject

額外繼承成員

詳細描述

Encapsulate a Spot Light object in a Qt 3D scene.

A spotlight is a light source that emits a cone of light in a particular direction.

A spotlight uses three attenuation factors to describe how the intensity of the light decreases over distance. These factors are designed to be used together in calcuating total attenuation. For the materials in Qt3D Extras the following formula is used, where distance is the distance from the light to the surface being rendered:

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

Custom materials may choose to interpret these factors differently.

特性文檔編製

constantAttenuation : float

Specifies the constant attenuation of the spot light

訪問函數:

float constantAttenuation () const
void setConstantAttenuation (float value )

通知程序信號:

void constantAttenuationChanged (float constantAttenuation )

cutOffAngle : float

Specifies the cut off angle of the spot light

訪問函數:

float cutOffAngle () const
void setCutOffAngle (float cutOffAngle )

通知程序信號:

void cutOffAngleChanged (float cutOffAngle )

linearAttenuation : float

Specifies the linear attenuation of the spot light

訪問函數:

float linearAttenuation () const
void setLinearAttenuation (float value )

通知程序信號:

void linearAttenuationChanged (float linearAttenuation )

localDirection : QVector3D

Specifies the local direction of the spot light

訪問函數:

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

通知程序信號:

void localDirectionChanged (const QVector3D & localDirection )

quadraticAttenuation : float

Specifies the quadratic attenuation of the spot light

訪問函數:

float quadraticAttenuation () const
void setQuadraticAttenuation (float value )

通知程序信號:

void quadraticAttenuationChanged (float quadraticAttenuation )

成員函數文檔編製

QSpotLight:: QSpotLight ( Qt3DCore::QNode * parent = nullptr)

構造新的 QSpotLight 采用指定 parent .