home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Extra 1996 #6 / AmigaPlus-eXtra-6-96.iso.7z / AmigaPlus-eXtra-6-96.iso / programme / a-render / build_objects / bstage2.c < prev    next >
C/C++ Source or Header  |  1987-03-22  |  4KB  |  157 lines

  1.  
  2. #include <stdio.h>
  3.  
  4. main()
  5. {
  6. FILE *fopen(), *fp;
  7.  
  8. int
  9.     polygon_id,
  10.     vertice_id,
  11.     vlist_id,
  12.     object_polygon_count,
  13.     object_vertice_count,
  14.     object_polygon_vertice_count[41],
  15.     object_vertice_list[41] [30];
  16.  
  17. float
  18.        object_vertice_x[41],
  19.        object_vertice_y[41],
  20.        object_vertice_z[41];
  21.  
  22.  
  23.  
  24.   object_polygon_count = 6;
  25.   object_vertice_count = 12;
  26.  
  27.  
  28.     object_vertice_x [1] = 0.001;
  29.     object_vertice_y [1] = 0.001;
  30.     object_vertice_z [1] = 5;
  31.  
  32.     object_vertice_x [2] = 8;
  33.     object_vertice_y [2] = 0.001;
  34.     object_vertice_z [2] = 5;
  35.  
  36.     object_vertice_x [3] = 8;
  37.     object_vertice_y [3] = 0.001;
  38.     object_vertice_z [3] = 2.2;
  39.  
  40.     object_vertice_x [4] = 6;
  41.     object_vertice_y [4] = 0.001;
  42.     object_vertice_z [4] = .25;
  43.  
  44.     object_vertice_x [5] = 2;
  45.     object_vertice_y [5] = 0.001;
  46.     object_vertice_z [5] = .25;
  47.  
  48.     object_vertice_x [6] = 0.001;
  49.     object_vertice_y [6] = 0.001;
  50.     object_vertice_z [6] = 2.2;
  51.  
  52.     object_vertice_x [7] = 0.001;
  53.     object_vertice_y [7] = 3;
  54.     object_vertice_z [7] = 5;
  55.  
  56.     object_vertice_x [8] = 8;
  57.     object_vertice_y [8] = 3;
  58.     object_vertice_z [8] = 5;
  59.  
  60.     object_vertice_x [9] = 8;
  61.     object_vertice_y [9] = 3;
  62.     object_vertice_z [9] = 2.2;
  63.  
  64.     object_vertice_x [10] = 6;
  65.     object_vertice_y [10] = 3;
  66.     object_vertice_z [10] = .25;
  67.  
  68.     object_vertice_x [11] = 2;
  69.     object_vertice_y [11] = 3;
  70.     object_vertice_z [11] = .25;
  71.  
  72.     object_vertice_x [12] = 0.001;
  73.     object_vertice_y [12] = 3;
  74.     object_vertice_z [12] = 2.2;
  75.  
  76.  
  77.       object_polygon_vertice_count [1] = 5;
  78.       object_vertice_list [1] [1] = 1;
  79.       object_vertice_list [1] [2] = 7;
  80.       object_vertice_list [1] [3] = 12;
  81.       object_vertice_list [1] [4] = 6;
  82.       object_vertice_list [1] [5] = 1;
  83.  
  84.       object_polygon_vertice_count [2] = 5;
  85.       object_vertice_list [2] [1] = 12;
  86.       object_vertice_list [2] [2] = 11;
  87.       object_vertice_list [2] [3] = 5;
  88.       object_vertice_list [2] [4] = 6;
  89.       object_vertice_list [2] [5] = 12;
  90.  
  91.       object_polygon_vertice_count [3] = 5;
  92.       object_vertice_list [3] [1] = 11;
  93.       object_vertice_list [3] [2] = 10;
  94.       object_vertice_list [3] [3] = 4;
  95.       object_vertice_list [3] [4] = 5;
  96.       object_vertice_list [3] [5] = 11;
  97.  
  98.       object_polygon_vertice_count [4] = 5;
  99.       object_vertice_list [4] [1] = 10;
  100.       object_vertice_list [4] [2] = 9;
  101.       object_vertice_list [4] [3] = 3;
  102.       object_vertice_list [4] [4] = 4;
  103.       object_vertice_list [4] [5] = 10;
  104.  
  105.       object_polygon_vertice_count [5] = 5;
  106.       object_vertice_list [5] [1] = 9;
  107.       object_vertice_list [5] [2] = 8;
  108.       object_vertice_list [5] [3] = 2;
  109.       object_vertice_list [5] [4] = 3;
  110.       object_vertice_list [5] [5] = 9;
  111.  
  112.       object_polygon_vertice_count [6] = 7;
  113.       object_vertice_list [6] [1] = 7;
  114.       object_vertice_list [6] [2] = 8;
  115.       object_vertice_list [6] [3] = 9;
  116.       object_vertice_list [6] [4] = 10;
  117.       object_vertice_list [6] [5] = 11;
  118.       object_vertice_list [6] [6] = 12;
  119.       object_vertice_list [6] [7] = 7;
  120.  
  121.       if ((fp = fopen("stage2.obj","w")) == 0) {
  122.         printf("Couldn't open stage2.obj file for write\n");
  123.         exit();
  124.       }
  125.           fprintf(fp,"1 1 3 %d %d",
  126.                   object_polygon_count,
  127.                   object_vertice_count);
  128.  
  129.       for (vertice_id=1;
  130.            vertice_id <= object_vertice_count; vertice_id++)
  131.             {
  132.             fprintf(fp," %f %f %f",
  133.                     object_vertice_x [vertice_id],
  134.                     object_vertice_y [vertice_id],
  135.                     object_vertice_z [vertice_id]);
  136.             }
  137.       for (polygon_id=1;
  138.            polygon_id <= object_polygon_count; polygon_id++)
  139.               {
  140.               fprintf(fp," %d",
  141.               object_polygon_vertice_count [polygon_id]);
  142.  
  143.       for (vlist_id=1;
  144.        vlist_id <= object_polygon_vertice_count [polygon_id];
  145.         vlist_id++)
  146.                 {
  147.                 fprintf(fp," %d",
  148.                 object_vertice_list [polygon_id] [vlist_id]);
  149.                 }
  150.               }
  151.  
  152.       printf("stage2.obj written\n");
  153.       fclose(fp);
  154. printf("closed\n");
  155. }
  156.  
  157.