* Change #define constant value to static constexpr * Adds const where possible * Uses reference instead of pointer where possible * Uses `float3` instead of raw float array where possible * Uses std::optional to indicate value that may be null * Reduces scope of variables where possible * Uses `std::array` instead of raw arrays where possible * Combines assignment and declaration where possible * Lengthens some names from single letters Pull Request: https://projects.blender.org/blender/blender/pulls/135486