ShaderParam - initial draft with corrections

Applied corrections from @cmr and @csherratt, also added the generated code.
```rust