Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void MakeCube(Mesh3D* cube)
- {
- cube->x_angle = 0.0;
- cube->y_angle = 0.0;
- cube->z_angle = 0.0;
- cube->scale = 1.0;
- cube->center.x = 159;
- cube->center.y = 99;
- cube->numPoints = 8;
- cube->points = malloc(cube->numPoints * sizeof(Vec3));
- cube->points[0].x = -CUBE_SIZE;
- cube->points[0].y = CUBE_SIZE;
- cube->points[0].z = -CUBE_SIZE;
- cube->points[1].x = -CUBE_SIZE;
- cube->points[1].y = -CUBE_SIZE;
- cube->points[1].z = -CUBE_SIZE;
- cube->points[2].x = CUBE_SIZE;
- cube->points[2].y = -CUBE_SIZE;
- cube->points[2].z = -CUBE_SIZE;
- cube->points[3].x = CUBE_SIZE;
- cube->points[3].y = CUBE_SIZE;
- cube->points[3].z = -CUBE_SIZE;
- cube->points[4].x = CUBE_SIZE;
- cube->points[4].y = CUBE_SIZE;
- cube->points[4].z = CUBE_SIZE;
- cube->points[5].x = -CUBE_SIZE;
- cube->points[5].y = CUBE_SIZE;
- cube->points[5].z = CUBE_SIZE;
- cube->points[6].x = -CUBE_SIZE;
- cube->points[6].y = -CUBE_SIZE;
- cube->points[6].z = CUBE_SIZE;
- cube->points[7].x = CUBE_SIZE;
- cube->points[7].y = -CUBE_SIZE;
- cube->points[7].z = CUBE_SIZE;
- cube->transformedP = malloc(cube->numPoints * sizeof(Vec3));
- memcpy(cube->transformedP, cube->points, sizeof(Vec3) * cube->numPoints);
- cube->numTriangles = 12;
- cube->numFaces = 6;
- cube->triangleVertices = malloc((cube->numTriangles * 3) * sizeof(Vertex));
- cube->faces = malloc((cube->numFaces) * sizeof(Face));
- // back face
- cube->triangleVertices[0].pointID = 0;
- cube->triangleVertices[0].UV.x = 0;
- cube->triangleVertices[0].UV.y = 31;
- cube->triangleVertices[1].pointID = 1;
- cube->triangleVertices[1].UV.x = 0;
- cube->triangleVertices[1].UV.y = 0;
- cube->triangleVertices[2].pointID = 2;
- cube->triangleVertices[2].UV.x = 31;
- cube->triangleVertices[2].UV.y = 0;
- cube->triangleVertices[3].pointID = 2;
- cube->triangleVertices[3].UV.x = 31;
- cube->triangleVertices[3].UV.y = 0;
- cube->triangleVertices[4].pointID = 3;
- cube->triangleVertices[4].UV.x = 31;
- cube->triangleVertices[4].UV.y = 31;
- cube->triangleVertices[5].pointID = 0;
- cube->triangleVertices[5].UV.x = 0;
- cube->triangleVertices[5].UV.y = 31;
- cube->faces[0].texture = &BeaWater;
- // right face
- cube->triangleVertices[6].pointID = 2;
- cube->triangleVertices[6].UV.x = 31;
- cube->triangleVertices[6].UV.y = 0;
- cube->triangleVertices[7].pointID = 3;
- cube->triangleVertices[7].UV.x = 31;
- cube->triangleVertices[7].UV.y = 31;
- cube->triangleVertices[8].pointID = 4;
- cube->triangleVertices[8].UV.x = 0;
- cube->triangleVertices[8].UV.y = 31;
- cube->triangleVertices[9].pointID = 4;
- cube->triangleVertices[9].UV.x = 0;
- cube->triangleVertices[9].UV.y = 31;
- cube->triangleVertices[10].pointID = 7;
- cube->triangleVertices[10].UV.x = 0;
- cube->triangleVertices[10].UV.y = 0;
- cube->triangleVertices[11].pointID = 2;
- cube->triangleVertices[11].UV.x = 31;
- cube->triangleVertices[11].UV.y = 0;
- cube->faces[1].texture = &Bush;
- // front face
- cube->triangleVertices[12].pointID = 4;
- cube->triangleVertices[12].UV.x = 31;
- cube->triangleVertices[12].UV.y = 31;
- cube->triangleVertices[13].pointID = 5;
- cube->triangleVertices[13].UV.x = 0;
- cube->triangleVertices[13].UV.y = 31;
- cube->triangleVertices[14].pointID = 6;
- cube->triangleVertices[14].UV.x = 0;
- cube->triangleVertices[14].UV.y = 0;
- cube->triangleVertices[15].pointID = 6;
- cube->triangleVertices[15].UV.x = 0;
- cube->triangleVertices[15].UV.y = 0;
- cube->triangleVertices[16].pointID = 7;
- cube->triangleVertices[16].UV.x = 31;
- cube->triangleVertices[16].UV.y = 0;
- cube->triangleVertices[17].pointID = 4;
- cube->triangleVertices[17].UV.x = 31;
- cube->triangleVertices[17].UV.y = 31;
- cube->faces[2].texture = &Concrete;
- // left face
- cube->triangleVertices[18].pointID = 6;
- cube->triangleVertices[18].UV.x = 31;
- cube->triangleVertices[18].UV.y = 0;
- cube->triangleVertices[19].pointID = 1;
- cube->triangleVertices[19].UV.x = 0;
- cube->triangleVertices[19].UV.y = 0;
- cube->triangleVertices[20].pointID = 0;
- cube->triangleVertices[20].UV.x = 0;
- cube->triangleVertices[20].UV.y = 31;
- cube->triangleVertices[21].pointID = 0;
- cube->triangleVertices[21].UV.x = 0;
- cube->triangleVertices[21].UV.y = 31;
- cube->triangleVertices[22].pointID = 5;
- cube->triangleVertices[22].UV.x = 31;
- cube->triangleVertices[22].UV.y = 31;
- cube->triangleVertices[23].pointID = 6;
- cube->triangleVertices[23].UV.x = 31;
- cube->triangleVertices[23].UV.y = 0;
- cube->faces[3].texture = &GrasSand;
- // top face
- cube->triangleVertices[24].pointID = 6;
- cube->triangleVertices[24].UV.x = 0;
- cube->triangleVertices[24].UV.y = 31;
- cube->triangleVertices[25].pointID = 1;
- cube->triangleVertices[25].UV.x = 0;
- cube->triangleVertices[25].UV.y = 0;
- cube->triangleVertices[26].pointID = 2;
- cube->triangleVertices[26].UV.x = 31;
- cube->triangleVertices[26].UV.y = 0;
- cube->triangleVertices[27].pointID = 2;
- cube->triangleVertices[27].UV.x = 31;
- cube->triangleVertices[27].UV.y = 0;
- cube->triangleVertices[28].pointID = 7;
- cube->triangleVertices[28].UV.x = 31;
- cube->triangleVertices[28].UV.y = 31;
- cube->triangleVertices[29].pointID = 6;
- cube->triangleVertices[29].UV.x = 0;
- cube->triangleVertices[29].UV.y = 31;
- cube->faces[4].texture = &Trees;
- // bottom face
- cube->triangleVertices[30].pointID = 4;
- cube->triangleVertices[30].UV.x = 31;
- cube->triangleVertices[30].UV.y = 0;
- cube->triangleVertices[31].pointID = 5;
- cube->triangleVertices[31].UV.x = 0;
- cube->triangleVertices[31].UV.y = 0;
- cube->triangleVertices[32].pointID = 0;
- cube->triangleVertices[32].UV.x = 0;
- cube->triangleVertices[32].UV.y = 31;
- cube->triangleVertices[33].pointID = 0;
- cube->triangleVertices[32].UV.x = 0;
- cube->triangleVertices[32].UV.y = 31;
- cube->triangleVertices[34].pointID = 3;
- cube->triangleVertices[34].UV.x = 31;
- cube->triangleVertices[34].UV.y = 31;
- cube->triangleVertices[35].pointID = 4;
- cube->triangleVertices[35].UV.x = 31;
- cube->triangleVertices[35].UV.y = 0;
- cube->faces[5].texture = &Wall;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement