void piramida(){ M3DVector3f a = {-1.0f, -1.0f, 0.0f}; M3DVector3f b = {1.0f, -1.0f, 0.0f}; M3DVector3f c = {1.0f, 1.0f, 0.0f}; M3DVector3f d = {-1.0f, 1.0f, 0.0f}; M3DVector3f e = {0.0f, 0.0f, 2.0f}; glBegin(GL_QUADS); glVertexAttrib3f(GLT_ATTRIBUTE_COLOR, 0.6f, 0.0f, 0.0f); glVertex3fv(a); glVertex3fv(b); glVertex3fv(c); glVertex3fv(d); glEnd(); glBegin(GL_TRIANGLES); glVertexAttrib3f(GLT_ATTRIBUTE_COLOR, 1.0f, 0.6f, 0.0f); TriangleFace(e, a, b); glEnd(); glBegin(GL_TRIANGLES); glVertexAttrib3f(GLT_ATTRIBUTE_COLOR, 0.75, 0.15f, 0.5f); TriangleFace(e, b, c); glEnd(); glBegin(GL_TRIANGLES); glVertexAttrib3f(GLT_ATTRIBUTE_COLOR, 0.0f, 0.55f, 0.75f); TriangleFace(e, c, d); glEnd(); glBegin(GL_TRIANGLES); glVertexAttrib3f(GLT_ATTRIBUTE_COLOR, 0.0f, 1.0f, 0.0f); TriangleFace(e, d, a); glEnd(); }
//---------------------------------------------------- void drawTriangles(int n_faces, float *vertices, int *faces) { for (int i = 0; i < n_faces; i++) { glBegin(GL_TRIANGLES); TriangleFace(vertices + 3 * faces[3 * i], vertices + 3 * faces[3 * i + 1], vertices + 3 * faces[3 * i + 2]); glEnd(); } }
void myTriangleFace(float f11,float f12,float f13, float f21,float f22,float f23, float f31,float f32,float f33) { M3DVector3f face1,face2,face3; face1[0]=f11; face1[1]=f12; face1[2]=f13; face2[0]=f21; face2[1]=f22; face2[2]=f23; face3[0]=f31; face3[1]=f32; face3[2]=f33; TriangleFace(face1,face2,face3); }