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();
	}
}