Before, we'd just zero out the memory of the struct and then set the defaults afterwards, but that: - Prevents us from storing non-POD types - Silently assumes that array<float> is safe to zero out (it currently is, but that is still ugly and risky) - Bloats the code since every non-zero entry now needs two lines So, just make use of C++11 here. All the default values that were previously unset are taken from the Blender-side defaults. Pull Request: https://projects.blender.org/blender/blender/pulls/130870