13#include "qml_material/math/scalar.hpp"
15namespace qml_material::math
18inline constexpr scalar k_ambient_height_factor = 1.0f / 128.0f;
19inline constexpr scalar k_ambient_geom_factor = 64.0f;
20inline constexpr scalar k_max_ambient_radius = 300 * k_ambient_height_factor * k_ambient_geom_factor;
22[[nodiscard]]
inline scalar ambient_blur_radius(scalar height) {
23 return std::min(height * k_ambient_height_factor * k_ambient_geom_factor, k_max_ambient_radius);
26[[nodiscard]]
inline scalar ambient_recip_alpha(scalar height) {
27 return 1.0f + std::max(height * k_ambient_height_factor, 0.0f);
30void spot_params(scalar occluder_z, scalar light_x, scalar light_y, scalar light_z,
31 scalar light_radius, scalar* blur_radius, scalar* scale,
32 QVector2D* translate);
34void directional_params(scalar occluder_z, scalar light_x, scalar light_y, scalar light_z,
35 scalar light_radius, scalar* blur_radius, scalar* scale,
36 QVector2D* translate);