@Override
	public void render() {
		this.parent.getMaterials().getMaterial(getMaterialName()).bindTexture();
		for (Face f : faces) {
			glColor3f(1, 1, 1);
			if (f.is4f()) {
				glBegin(GL_QUADS);
			} else {
				glBegin(GL_TRIANGLES);
			}

			FaceIndex index = null;
			for (int i = 0; i < f.getIndecies().size(); i++) {
				index = f.getIndecies().get(i);
				glVertex3f(parent.getVertecies().get(index.getVertexIndex()).getX(), parent.getVertecies().get(index.getVertexIndex()).getY(),
				        parent.getVertecies().get(index.getVertexIndex()).getZ());
				if (index.hasNormals())
					glNormal3f(parent.getNormals().get(index.getNormalIndex()).getX(), parent.getNormals().get(index.getNormalIndex()).getY(),
					        parent.getNormals().get(index.getNormalIndex()).getZ());

				if (index.hasTexturCoords())
					glTexCoord2f(parent.getTextureCoords().get(index.getTextureIndex()).getX(), parent.getTextureCoords().get(index.getTextureIndex()).getY());
			}
			glEnd();

			glColor3f(0, 0, 0);
			/*glBegin(GL_LINES);
			index = null;
			for (int i = 0; i < f.getIndecies().size(); i++) {
				index = f.getIndecies().get(i);
				glVertex3f(parent.getVertecies().get(index.getVertexIndex()).getX(), parent.getVertecies().get(index.getVertexIndex()).getY(),
				        parent.getVertecies().get(index.getVertexIndex()).getZ());
				if (index.hasNormals())
					glNormal3f(parent.getNormals().get(index.getNormalIndex()).getX(), parent.getNormals().get(index.getNormalIndex()).getY(),
					        parent.getNormals().get(index.getNormalIndex()).getZ());

				if (index.hasTexturCoords())
					glTexCoord2f(parent.getTextureCoords().get(index.getTextureIndex()).getX(), parent.getTextureCoords().get(index.getTextureIndex()).getY());
			}
			index = f.getIndecies().get(0);
			glVertex3f(parent.getVertecies().get(index.getVertexIndex()).getX(), parent.getVertecies().get(index.getVertexIndex()).getY(),
			        parent.getVertecies().get(index.getVertexIndex()).getZ());
			if (index.hasNormals())
				glNormal3f(parent.getNormals().get(index.getNormalIndex()).getX(), parent.getNormals().get(index.getNormalIndex()).getY(),
				        parent.getNormals().get(index.getNormalIndex()).getZ());

			if (index.hasTexturCoords())
				glTexCoord2f(parent.getTextureCoords().get(index.getTextureIndex()).getX(), parent.getTextureCoords().get(index.getTextureIndex()).getY());
			glEnd();*/
		}

		super.render();
	}