void SetUniform(String canonical, Object val) { assert( !_uniforms.containsKey(canonical), "uniform ${canonical} already set"); ForceUniform(canonical, val); }