Represents a light source emitting light from a circular area.
More...
|
| AreaLightSource (double intensity, Point3D center, double radius, double penumbraRadius, NormalizedVector3D direction, double sourceDistance, int shadowSamplingPointCount) |
| Creates a new AreaLightSource instance. More...
|
|
LightIntensity | GetLightAt (Point3D point) |
| Computes the light intensity at the specified point, without taking into account any obstructions. - Parameters
-
point | The Point3DElement at which the light intensity should be computed. |
- Returns
More...
|
|
double | GetObstruction (Point3D point, IEnumerable< Triangle3DElement > shadowingTriangles) |
| Determines the amount of obstruction of the light that results at point due to the specified shadowingTriangles . - Parameters
-
point | The Point3D at which the obstruction should be computed. |
shadowingTriangles | A collection of Triangle3DElement casting shadows. |
- Returns
- 1 if the light is completely obstructed, 0 if the light is completely visible, a value between these if the light is partially obstructed.
More...
|
|
LightIntensity | GetLightAt (Point3D point) |
| Computes the light intensity at the specified point, without taking into account any obstructions. More...
|
|
double | GetObstruction (Point3D point, IEnumerable< Triangle3DElement > shadowingTriangles) |
| Determines the amount of obstruction of the light that results at point due to the specified shadowingTriangles . More...
|
|
|
bool | CastsShadow = true [get, set] |
| Determines whether the light casts a shadow or not. More...
|
|
Point3D | Center [get] |
| The centre of the light-emitting area. More...
|
|
NormalizedVector3D | Direction [get] |
| The direction of the light's main axis, i.e. the normal to the plane containing the light-emitting area. More...
|
|
double | Radius [get] |
| The radius of the light emitting area. More...
|
|
double | PenumbraRadius [get] |
| The radius of the penumbra area. More...
|
|
double | Intensity [get, set] |
| The base intensity of the light. More...
|
|
double | SourceDistance [get] |
| The distance between the focal point of the light and the light's Center. More...
|
|
double | DistanceAttenuationExponent = 2 [get, set] |
| An exponent determining how fast the light attenuates with increasing distance. Set to 0 to disable distance attenuation. More...
|
|
double | PenumbraAttenuationExponent = 1 [get, set] |
| An exponent determining how fast the light attenuates between the light-emitting area radius and the penumbra radius. More...
|
|
int | ShadowSamplingPointCount [get] |
| The number of points to use when determining the amount of light that is obstructed at a certain point. More...
|
|
bool | CastsShadow [get] |
| Determines whether the light casts a shadow or not. More...
|
|
Represents a light source emitting light from a circular area.
Definition at line 579 of file Lights.cs.
◆ AreaLightSource()
VectSharp.ThreeD.AreaLightSource.AreaLightSource |
( |
double |
intensity, |
|
|
Point3D |
center, |
|
|
double |
radius, |
|
|
double |
penumbraRadius, |
|
|
NormalizedVector3D |
direction, |
|
|
double |
sourceDistance, |
|
|
int |
shadowSamplingPointCount |
|
) |
| |
Creates a new AreaLightSource instance.
- Parameters
-
intensity | The base intensity of the light. |
center | The centre of the light-emitting area. |
radius | The radius of the light-emitting area. |
penumbraRadius | The radius of the penumbra area. |
direction | The direction of the light. |
sourceDistance | The distance between the focal point of the light and the light's center. |
shadowSamplingPointCount | The number of points to use when determining the amount of light that is obstructed at a certain point. |
Definition at line 643 of file Lights.cs.
◆ GetLightAt()
LightIntensity VectSharp.ThreeD.AreaLightSource.GetLightAt |
( |
Point3D |
point | ) |
|
Computes the light intensity at the specified point, without taking into account any obstructions.
- Parameters
-
point | The Point3DElement at which the light intensity should be computed. |
- Returns
Implements VectSharp.ThreeD.ILightSource.
Definition at line 690 of file Lights.cs.
◆ GetObstruction()
double VectSharp.ThreeD.AreaLightSource.GetObstruction |
( |
Point3D |
point, |
|
|
IEnumerable< Triangle3DElement > |
shadowingTriangles |
|
) |
| |
Determines the amount of obstruction of the light that results at point due to the specified shadowingTriangles .
- Parameters
-
point | The Point3D at which the obstruction should be computed. |
shadowingTriangles | A collection of Triangle3DElement casting shadows. |
- Returns
- 1 if the light is completely obstructed, 0 if the light is completely visible, a value between these if the light is partially obstructed.
Implements VectSharp.ThreeD.ILightSource.
Definition at line 763 of file Lights.cs.
◆ CastsShadow
bool VectSharp.ThreeD.AreaLightSource.CastsShadow = true |
|
getset |
◆ Center
Point3D VectSharp.ThreeD.AreaLightSource.Center |
|
get |
The centre of the light-emitting area.
Definition at line 587 of file Lights.cs.
◆ Direction
NormalizedVector3D VectSharp.ThreeD.AreaLightSource.Direction |
|
get |
The direction of the light's main axis, i.e. the normal to the plane containing the light-emitting area.
Definition at line 594 of file Lights.cs.
◆ DistanceAttenuationExponent
double VectSharp.ThreeD.AreaLightSource.DistanceAttenuationExponent = 2 |
|
getset |
An exponent determining how fast the light attenuates with increasing distance. Set to 0 to disable distance attenuation.
Definition at line 619 of file Lights.cs.
◆ Intensity
double VectSharp.ThreeD.AreaLightSource.Intensity |
|
getset |
The base intensity of the light.
Definition at line 609 of file Lights.cs.
◆ PenumbraAttenuationExponent
double VectSharp.ThreeD.AreaLightSource.PenumbraAttenuationExponent = 1 |
|
getset |
An exponent determining how fast the light attenuates between the light-emitting area radius and the penumbra radius.
Definition at line 624 of file Lights.cs.
◆ PenumbraRadius
double VectSharp.ThreeD.AreaLightSource.PenumbraRadius |
|
get |
The radius of the penumbra area.
Definition at line 604 of file Lights.cs.
◆ Radius
double VectSharp.ThreeD.AreaLightSource.Radius |
|
get |
The radius of the light emitting area.
Definition at line 599 of file Lights.cs.
◆ ShadowSamplingPointCount
int VectSharp.ThreeD.AreaLightSource.ShadowSamplingPointCount |
|
get |
The number of points to use when determining the amount of light that is obstructed at a certain point.
Definition at line 629 of file Lights.cs.
◆ SourceDistance
double VectSharp.ThreeD.AreaLightSource.SourceDistance |
|
get |
The distance between the focal point of the light and the light's Center.
Definition at line 614 of file Lights.cs.
The documentation for this class was generated from the following file: