LuciadCPillar 2023.1.03
|
This class implements the Ambient occlusion effect, which shades areas of 3D geometry based on their proximity to other 3D geometry. More...
#include <luciad/maps/effects/AmbientOcclusionEffect.h>
Public Member Functions | |
AmbientOcclusionEffect (const AmbientOcclusionEffect &)=delete | |
double | getPower () const |
Returns the power factor which determines how strongly the effect is applied to the view. More... | |
double | getRadius () const |
Returns the radius in meters at which the effect is sampled. More... | |
bool | isEnabled () const |
AmbientOcclusionEffect & | operator= (const AmbientOcclusionEffect &)=delete |
void | set (double radius, double power) |
Sets the radius and power values for the ambient occlusion effect. More... | |
void | setEnabled (bool enabled) |
Enables or disables the Ambient Occlusion effect. More... | |
void | setPower (double power) |
Sets the power factor which determines how strongly the effect is applied to the view. More... | |
void | setRadius (double radius) |
Sets the radius in meters at which the effect is sampled. More... | |
This class implements the Ambient occlusion effect, which shades areas of 3D geometry based on their proximity to other 3D geometry.
This mimics a behavior of the real world where light gets trapped in tight areas. Typical examples are the corners of a room, which are slightly darker than the rest of the room as the light is trapped in the corners.
Ambient Occlusion is recommended for cases in which 3D datasets with simple colors, such as 3D CAD & BIM models, are visualized. For these types of datasets, Ambient Occlusion can help give the dataset more depth and make it easier to understand how geometry relates to each other. On top of that, it also improves the visual quality of such datasets, and gives an overall better impression.
Note that Ambient Occlusion is only applied in 3D views.
You cannot create an AmbientOcclusionEffect
. Instead, you can retrieve it from luciad::GraphicsEffects::getAmbientOcclusion
.
|
delete |
double luciad::AmbientOcclusionEffect::getPower | ( | ) | const |
Returns the power factor which determines how strongly the effect is applied to the view.
double luciad::AmbientOcclusionEffect::getRadius | ( | ) | const |
Returns the radius in meters at which the effect is sampled.
bool luciad::AmbientOcclusionEffect::isEnabled | ( | ) | const |
|
delete |
void luciad::AmbientOcclusionEffect::set | ( | double | radius, |
double | power | ||
) |
void luciad::AmbientOcclusionEffect::setEnabled | ( | bool | enabled | ) |
Enables or disables the Ambient Occlusion effect.
The default is false.
enabled | true to enable the Ambient Occlusion effect or false to disable it. |
void luciad::AmbientOcclusionEffect::setPower | ( | double | power | ) |
Sets the power factor which determines how strongly the effect is applied to the view.
The power factor determines how much to brighten or darken the effect.
Values should be a positive floating point number, generally between 0 and 5. Higher values are accepted, but not recommended.
The default power value is 1.
power | factor to brighten or darken the effect. |
void luciad::AmbientOcclusionEffect::setRadius | ( | double | radius | ) |
Sets the radius in meters at which the effect is sampled.
A lower value produces sharper results, while higher values produce softer results.
The default radius is 30m.
radius | radius in meters at which the effect should be sampled. |