Add tangent space in Mesh::initBuffer()
Now we need to add the tangents and bitangents as vertex attributes in Mesh::initBuffer()
void Mesh::initBuffer()
{
...
// LabA07: Adding texture coord attribute
// vertex texture coords
glEnableVertexAttribArray(2);
// the second parameter: 2 coordinates (tx, ty) per texture coord
glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)offsetof(Vertex, texCoord));
// LabA08: tangents and bitangents
glEnableVertexAttribArray(3);
glVertexAttribPointer(3, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)offsetof(Vertex, tangent));
glEnableVertexAttribArray(4);
glVertexAttribPointer(4, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)offsetof(Vertex, bitangent));
// bind index buffer
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, idxBufID);
...
}Full Source Code of Mesh::initBuffer()
Last updated