uniformOp_t: a sequence of uniform inputs for a given program. Restructure effect shaders; adapt those changes to the renderer. Once those changes are in place, then restructure how the draw passes are performed.
Rewrite the GLSL program generation system; make it more flexible, to allow for a simpler and less hacky means of generating functionality. Something which might be interesting would the following:
layout( location = x ) in vec3 ${someFunctionName};
...
uniform mat4 ${anotherFunctionName};
Each dollar signed variable would represent a function entry within a hashmap that could be used to compute the proper variable. The name of the variaible (including its enclosing brackets/dollar sign) would be replaced by the value of the function. This could technically replace/add entire lines, sections of lines, or other tokens; not just variables.
uniformOp_t: a sequence of uniform inputs for a given program. Restructure effect shaders; adapt those changes to the renderer. Once those changes are in place, then restructure how the draw passes are performed.Rewrite the GLSL program generation system; make it more flexible, to allow for a simpler and less hacky means of generating functionality. Something which might be interesting would the following:
Each dollar signed variable would represent a function entry within a hashmap that could be used to compute the proper variable. The name of the variaible (including its enclosing brackets/dollar sign) would be replaced by the value of the function. This could technically replace/add entire lines, sections of lines, or other tokens; not just variables.