• Content count

  • Joined

  • Last visited

Community Reputation

115 Neutral

About CookedBird

  • Rank
  1. Okay, I think I realized what my problem was. I didn't realize that you could change uniforms between draw calls, I thought everything was drawn once glFlush was called or something like that, so I thought it would be pointless to change the uniform. But if I understand right I can do something like this... [font=courier new,courier,monospace]glBindBuffer(GL_ARRAY_BUFFER, vbo_1); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo_1); glUniform1fv(uniform_ skeleton, 10, skeleton_1); glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_SHORT, BUFFER_OFFSET(0)); glBindBuffer(GL_ARRAY_BUFFER, vbo_2); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo_2); glUniform1fv(uniform_ skeleton, 10, skeleton_2); glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_SHORT, BUFFER_OFFSET(0)); glutSwapBuffers();[/font] ...If that is true then everything just made a whole lot more sense.
  2. I understand that, but what I'm confused about is how you tell each skeleton apart, what I have is [font=courier new,courier,monospace]uniform mat4 skeleton[][]; uniform vec4 worldpos[];[/font] [font=courier new,courier,monospace]in int joint;[/font] [font=courier new,courier,monospace]void main(void)[/font] [font=courier new,courier,monospace]{ mat4 mjoint = skeleton[meshID][joint]; vec4 new_vertex = gl_vertex + worldpos[meshID]; .... }[/font] but I don't know where to get the meshID from to tell the skeletons and worldpos apart, should it just be a vector attribute, or am I doing this wrong?
  3. Well I was also hoping to add more then just the position vector and also give it information about the mesh's skeleton. Where if I have 200 vertices per mesh and only 10 bones per mesh it would be a waist of memory to repeat the bones for each vertex. I'm trying to minimize the about of information I have to update and store on the graphics card. I did got the idea from instance rendering.
  4. Sorry if this is vague, but I don't really know what I'm looking for to solve this, and I don't really know what to ask. I have a couple different meshes that I am rendering with different vbos. What I want is to give each mesh a position vector (and possibly more info later on, such as a skeleton animation) that it will use to calculate the new position of the mesh in the vertex shader. Right now I am giving each vertex an attribute called meshID which then gets the mesh's position vector from a uniform vec3 array. I feel like there must be a better way of telling each mesh apart or even assigning attributes to each mesh, but I don't know what it would be.