Allow SubMeshes to specify custom shader parameters #3495
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

SubMeshes can specify a default Material that SubEntities may use or override. The SubMesh's default Material can have shader programs that take custom parameters as inputs. SubMeshes should be able to specify default values for those custom parameters that SubEntites may use or override.
While the parameters can be set at the Program level, the Material/Pass level, and the SubEntity level, I have a situation where a parameter is calculated during the procedural generation of a Mesh/SubMeshes and that would be the most natural place to stick the value.
I made a draft but am open to feedback. Specifically, I wasn't sure about exposing the Renderable::CustomParameterMap implementation and including its header in SubMesh.h