Assimp v5.2.2 (January 2022)
The Asset-Importer-Lib API documentation.
aiLight Struct Reference

Helper structure to describe a light source. More...

#include <light.h>

Public Member Functions

 aiLight () AI_NO_EXCEPT
 

Public Attributes

float mAngleInnerCone
 Inner angle of a spot light's light cone. More...
 
float mAngleOuterCone
 Outer angle of a spot light's light cone. More...
 
float mAttenuationConstant
 Constant light attenuation factor. More...
 
float mAttenuationLinear
 Linear light attenuation factor. More...
 
float mAttenuationQuadratic
 Quadratic light attenuation factor. More...
 
C_STRUCT aiColor3D mColorAmbient
 Ambient color of the light source. More...
 
C_STRUCT aiColor3D mColorDiffuse
 Diffuse color of the light source. More...
 
C_STRUCT aiColor3D mColorSpecular
 Specular color of the light source. More...
 
C_STRUCT aiVector3D mDirection
 Direction of the light source in space. More...
 
C_STRUCT aiString mName
 The name of the light source. More...
 
C_STRUCT aiVector3D mPosition
 Position of the light source in space. More...
 
C_STRUCT aiVector2D mSize
 Size of area light source. More...
 
C_ENUM aiLightSourceType mType
 The type of the light source. More...
 
C_STRUCT aiVector3D mUp
 Up direction of the light source in space. More...
 

Detailed Description

Helper structure to describe a light source.

Assimp supports multiple sorts of light sources, including directional, point and spot lights. All of them are defined with just a single structure and distinguished by their parameters. Note - some file formats (such as 3DS, ASE) export a "target point" - the point a spot light is looking at (it can even be animated). Assimp writes the target point as a sub-node of a spot-lights's main node, called "<spotName>.Target". However, this is just additional information then, the transformation tracks of the main node make the spot light already point in the right direction.

Constructor & Destructor Documentation

◆ aiLight()

aiLight::aiLight ( )
inline

Member Data Documentation

◆ mAngleInnerCone

float aiLight::mAngleInnerCone

Inner angle of a spot light's light cone.

The spot light has maximum influence on objects inside this angle. The angle is given in radians. It is 2PI for point lights and undefined for directional lights.

◆ mAngleOuterCone

float aiLight::mAngleOuterCone

Outer angle of a spot light's light cone.

The spot light does not affect objects outside this angle. The angle is given in radians. It is 2PI for point lights and undefined for directional lights. The outer angle must be greater than or equal to the inner angle. It is assumed that the application uses a smooth interpolation between the inner and the outer cone of the spot light.

◆ mAttenuationConstant

float aiLight::mAttenuationConstant

Constant light attenuation factor.

The intensity of the light source at a given distance 'd' from the light's position is

Atten = 1/( att0 + att1 * d + att2 * d*d)

This member corresponds to the att0 variable in the equation. Naturally undefined for directional lights.

◆ mAttenuationLinear

float aiLight::mAttenuationLinear

Linear light attenuation factor.

The intensity of the light source at a given distance 'd' from the light's position is

Atten = 1/( att0 + att1 * d + att2 * d*d)

This member corresponds to the att1 variable in the equation. Naturally undefined for directional lights.

◆ mAttenuationQuadratic

float aiLight::mAttenuationQuadratic

Quadratic light attenuation factor.

The intensity of the light source at a given distance 'd' from the light's position is

Atten = 1/( att0 + att1 * d + att2 * d*d)

This member corresponds to the att2 variable in the equation. Naturally undefined for directional lights.

◆ mColorAmbient

C_STRUCT aiColor3D aiLight::mColorAmbient

Ambient color of the light source.

The ambient light color is multiplied with the ambient material color to obtain the final color that contributes to the ambient shading term. Most renderers will ignore this value it, is just a remaining of the fixed-function pipeline that is still supported by quite many file formats.

◆ mColorDiffuse

C_STRUCT aiColor3D aiLight::mColorDiffuse

Diffuse color of the light source.

The diffuse light color is multiplied with the diffuse material color to obtain the final color that contributes to the diffuse shading term.

◆ mColorSpecular

C_STRUCT aiColor3D aiLight::mColorSpecular

Specular color of the light source.

The specular light color is multiplied with the specular material color to obtain the final color that contributes to the specular shading term.

◆ mDirection

C_STRUCT aiVector3D aiLight::mDirection

Direction of the light source in space.

Relative to the transformation of the node corresponding to the light.

The direction is undefined for point lights. The vector may be normalized, but it needn't.

◆ mName

C_STRUCT aiString aiLight::mName

The name of the light source.

There must be a node in the scene-graph with the same name. This node specifies the position of the light in the scene hierarchy and can be animated.

◆ mPosition

C_STRUCT aiVector3D aiLight::mPosition

Position of the light source in space.

Relative to the transformation of the node corresponding to the light.

The position is undefined for directional lights.

◆ mSize

C_STRUCT aiVector2D aiLight::mSize

Size of area light source.

◆ mType

C_ENUM aiLightSourceType aiLight::mType

The type of the light source.

aiLightSource_UNDEFINED is not a valid value for this member.

◆ mUp

C_STRUCT aiVector3D aiLight::mUp

Up direction of the light source in space.

Relative to the transformation of the node corresponding to the light.

The direction is undefined for point lights. The vector may be normalized, but it needn't.


The documentation for this struct was generated from the following file: