|
| PointLight (Color color, double intensity) |
| Creates a new point light with the specified color and intensity.
|
|
bool | isPointLight () const override |
| Returns whether or not this light is a point light.
|
|
double | power () const |
| Returns the power of this light.
|
|
bool | isLight () const override |
| Returns whether or not this 3D object is a light.
|
|
virtual bool | isAmbientLight () const |
| Returns whether or not this light is an ambient light.
|
|
virtual bool | isDirectionalLight () const |
| Returns whether or not this light is a directional light.
|
|
virtual bool | isSpotLight () const |
| Returns whether or not this light is a spot light.
|
|
virtual bool | isMesh () const |
| Returns whether this 3D object is a mesh.
|
|
Object3D & | add (Object3D &child) |
| Adds another 3D object as a child of this 3D object.
|
|
Object3D & | translate (double x, double y, double z) |
| Translates this 3D object by the specified amounts along the x, y, and z axes in local space.
|
|
Object3D & | rotate (double x, double y, double z, EulerRotationOrder order) |
| Rotates this 3D object by the specified angles around the x, y, and z axes in local space.
|
|
Object3D & | scale (double x, double y, double z) |
| Scales this 3D object by the specified amounts along the x, y, and z axes in local space.
|
|
Object3D & | updateLocalMatrix () |
| Updates the local transformation matrix of this 3D object.
|
|
Object3D & | updateModelMatrix () |
| Updates the model matrix of this 3D object.
|
|
|
Color | color |
| The color of this point light.
|
|
double | intensity |
| The intensity of this point light in candela (cd).
|
|
std::optional< std::reference_wrapper< Object3D > > | parent |
| The parent of this 3D object.
|
|
Vector3 | up = DEFAULT_UP |
| The vector pointing to the up direction in object space.
|
|
Vector3 | localPosition |
| The position of this 3D object relative to its parent.
|
|
EulerRotation | localRotation |
| The rotation of this 3D object relative to its parent.
|
|
Vector3 | localScale |
| The scale of this 3D object relative to its parent.
|
|
Matrix4x4 | localMatrix |
| The matrix of the local transformation of this 3D object.
|
|
Matrix4x4 | modelMatrix |
| The model matrix of this 3D object, transformating local space to world space.
|
|
std::vector< std::reference_wrapper< Object3D > > | children |
| The children of this 3D object.
|
|
The point light, which gets emitted from a single point in all directions.
Point lights are some of the most common lights in 3D graphics. They can be used, for example, to represent lights from light bulbs or fireflies.
For the BlinnPhong
material, the light's color contribution will be \(c = \text{diffuse color} \times \text{light's intensity} \times
(\text{specular} + \text{diffuse})\). The specular and diffuse components do not rely on the light's intensity.