I tried to come up with somewhat consistent parameter names, but please let me know if you have better proposals.
One thing I am not happy about is the shader model version as two parameters, but using a string, splitting it up and turning the parts into ints would require additional error handling and just adds more complexity to this than I think it should.
I also changed the default value for the packMatricesInRowMajor compiler option, as the old one does not match HLSL default behavior.
I tried to come up with somewhat consistent parameter names, but please let me know if you have better proposals. One thing I am not happy about is the shader model version as two parameters, but using a string, splitting it up and turning the parts into ints would require additional error handling and just adds more complexity to this than I think it should.
I also changed the default value for the packMatricesInRowMajor compiler option, as the old one does not match HLSL default behavior.