1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
void kfModel::render(mat4 &projection, mat4 &modelview){
m_shader->bindShader();
m_shader->sendUniform4x4("projection", projection.getArray());
m_shader->sendUniform4x4("modelview", modelview.getArray());
m_shader->sendUniform("texture0", 0);
m_shader->sendUniform("interpolation", m_interpolation);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, m_texture->getTextureID());
glBindBuffer(GL_ARRAY_BUFFER, m_meshes[m_currentFrame]->getVertexBuffer());
glVertexAttribPointer(m_shader->getAttribLocation("vertex0"), 3, GL_FLOAT, GL_FALSE, 0, 0); // <- startvertex
glBindBuffer(GL_ARRAY_BUFFER, m_meshes[m_nextFrame]->getVertexBuffer());
glVertexAttribPointer(m_shader->getAttribLocation("vertex1"), 3, GL_FLOAT, GL_FALSE, 0, 0);
glBindBuffer(GL_ARRAY_BUFFER, m_meshes[m_currentFrame]->getTexCoordBuffer());
glVertexAttribPointer(m_shader->getAttribLocation("texCoord0"), 2, GL_FLOAT, GL_FALSE, 0, 0);
m_shader->enableVertexAttribArrays();
glDrawElements(GL_TRIANGLES, m_meshes[m_currentFrame]->getIndexCount(), GL_UNSIGNED_INT, &m_meshes[m_currentFrame]->getIndices());
m_shader->disableVertexAttribArrays();
}
|