static void qtcCreateShadowGradient(float *buff, size_t size) { const float r = size / 6.5; for (size_t i = 0; i < size; i++) { buff[i] = qtcMax(0, expf(-(i / r)) - 0.0015); } }
static inline float _qtcDistance(int x, int y, int x0, int y0, bool square) { int dx = x - x0; int dy = y - y0; if (dx == 0) { return qtcAbs(dy); } if (dy == 0) { return qtcAbs(dx); } return square ? qtcMax(qtcAbs(dx), qtcAbs(dy)) : sqrtf(dx * dx + dy * dy); }