add initializer functions for material structs