ShaderParameter update + refactoring