shader permutations declaration classes
normal transform
sub shader structure
light properties