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 =
21 300 * k_ambient_height_factor * k_ambient_geom_factor;
23[[nodiscard]]
inline scalar ambient_blur_radius(scalar height) {
24 return std::min(height * k_ambient_height_factor * k_ambient_geom_factor, k_max_ambient_radius);
27[[nodiscard]]
inline scalar ambient_recip_alpha(scalar height) {
28 return 1.0f + std::max(height * k_ambient_height_factor, 0.0f);
31void spot_params(scalar occluder_z, scalar light_x, scalar light_y, scalar light_z,
32 scalar light_radius, scalar* blur_radius, scalar* scale, 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);