void Model::draw(ofShader& shader) { // Scale and translate the model into position. ofRotateY(rotateY); ofScale(uniformScale, uniformScale, uniformScale); ofTranslate(0, translateY, 0); // Set shader inputs and draw meshes. shader.setUniformTexture("diffuseTex", diffuse, 1); shader.setUniformTexture("specularTex", specular, 2); if (useNormalMapping) { shader.setUniformTexture("ambientTex", ambient, 3); shader.setUniformTexture("normalTex", normal, 4); } for (unsigned int i = 0; i < meshes.size(); ++i) { if (useNormalMapping) { shader.setAttribute4fv("tangent", tangents[i].data(), 4); } meshes[i].drawFaces(); } }