+ GLuint texCoordLoc = glGetAttribLocation(progId, "vTexCoord");
+ glBindBuffer(GL_ARRAY_BUFFER, texCoordVbo);
+ glBufferData(GL_ARRAY_BUFFER, texCoords.size() * sizeof(glm::vec2), &texCoords[0], GL_STATIC_DRAW);
+ glEnableVertexAttribArray(texCoordLoc);
+ glVertexAttribPointer(texCoordLoc, 2, GL_FLOAT, GL_FALSE, 0, 0);
+
+ GLuint tangentLoc = glGetAttribLocation(progId, "tangent");
+ glBindBuffer(GL_ARRAY_BUFFER, tangentVbo);
+ glBufferData(GL_ARRAY_BUFFER, tangents.size() * sizeof(glm::vec3), &tangents[0], GL_STATIC_DRAW);
+ glEnableVertexAttribArray(tangentLoc);
+ glVertexAttribPointer(tangentLoc, 3, GL_FLOAT, GL_FALSE, 0, 0);
+
+ GLuint bitangentLoc = glGetAttribLocation(progId, "bitangent");
+ glBindBuffer(GL_ARRAY_BUFFER, bitangentVbo);
+ glBufferData(GL_ARRAY_BUFFER, bitangents.size() * sizeof(glm::vec3), &bitangents[0], GL_STATIC_DRAW);
+ glEnableVertexAttribArray(bitangentLoc);
+ glVertexAttribPointer(bitangentLoc, 3, GL_FLOAT, GL_FALSE, 0, 0);
+