title: Pass data from std::vector to uniform array in glsl
body: <p>I have a uniform in a shader like this:</p>
  
  <pre><code>uniform vec3 origins[10];
  </code></pre>
  
  <p>and a std::vector in my code like this:</p>
  
  <pre><code>std::vector&lt;glm::vec3&gt; origins;
  </code></pre>
  
  <p>that is filled with ten <code>glm::vec3</code> elements. </p>
  
  <p>Does anyone know how do I pass that to the shader? I thought:</p>
  
  <pre><code>GLint originsLoc = glGetUniformLocation(programID, "origins");
  glUniform3fv(originsLoc, 10, origins.data());
  </code></pre>
  
  <p>would do it, but it wont compile. The error says there is <code>no matching function for call to 'glUniform3fv'</code>. How do I pass the data in the <code>std::vector</code> in a way that satisfies the <code>glUniform3fv</code> function? </p>