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 >
Wrap
C/C++ Source or Header
|
1987-03-22
|
4KB
|
157 lines
#include <stdio.h>
main()
{
FILE *fopen(), *fp;
int
polygon_id,
vertice_id,
vlist_id,
object_polygon_count,
object_vertice_count,
object_polygon_vertice_count[41],
object_vertice_list[41] [30];
float
object_vertice_x[41],
object_vertice_y[41],
object_vertice_z[41];
object_polygon_count = 6;
object_vertice_count = 12;
object_vertice_x [1] = 0.001;
object_vertice_y [1] = 0.001;
object_vertice_z [1] = 5;
object_vertice_x [2] = 8;
object_vertice_y [2] = 0.001;
object_vertice_z [2] = 5;
object_vertice_x [3] = 8;
object_vertice_y [3] = 0.001;
object_vertice_z [3] = 2.2;
object_vertice_x [4] = 6;
object_vertice_y [4] = 0.001;
object_vertice_z [4] = .25;
object_vertice_x [5] = 2;
object_vertice_y [5] = 0.001;
object_vertice_z [5] = .25;
object_vertice_x [6] = 0.001;
object_vertice_y [6] = 0.001;
object_vertice_z [6] = 2.2;
object_vertice_x [7] = 0.001;
object_vertice_y [7] = 3;
object_vertice_z [7] = 5;
object_vertice_x [8] = 8;
object_vertice_y [8] = 3;
object_vertice_z [8] = 5;
object_vertice_x [9] = 8;
object_vertice_y [9] = 3;
object_vertice_z [9] = 2.2;
object_vertice_x [10] = 6;
object_vertice_y [10] = 3;
object_vertice_z [10] = .25;
object_vertice_x [11] = 2;
object_vertice_y [11] = 3;
object_vertice_z [11] = .25;
object_vertice_x [12] = 0.001;
object_vertice_y [12] = 3;
object_vertice_z [12] = 2.2;
object_polygon_vertice_count [1] = 5;
object_vertice_list [1] [1] = 1;
object_vertice_list [1] [2] = 7;
object_vertice_list [1] [3] = 12;
object_vertice_list [1] [4] = 6;
object_vertice_list [1] [5] = 1;
object_polygon_vertice_count [2] = 5;
object_vertice_list [2] [1] = 12;
object_vertice_list [2] [2] = 11;
object_vertice_list [2] [3] = 5;
object_vertice_list [2] [4] = 6;
object_vertice_list [2] [5] = 12;
object_polygon_vertice_count [3] = 5;
object_vertice_list [3] [1] = 11;
object_vertice_list [3] [2] = 10;
object_vertice_list [3] [3] = 4;
object_vertice_list [3] [4] = 5;
object_vertice_list [3] [5] = 11;
object_polygon_vertice_count [4] = 5;
object_vertice_list [4] [1] = 10;
object_vertice_list [4] [2] = 9;
object_vertice_list [4] [3] = 3;
object_vertice_list [4] [4] = 4;
object_vertice_list [4] [5] = 10;
object_polygon_vertice_count [5] = 5;
object_vertice_list [5] [1] = 9;
object_vertice_list [5] [2] = 8;
object_vertice_list [5] [3] = 2;
object_vertice_list [5] [4] = 3;
object_vertice_list [5] [5] = 9;
object_polygon_vertice_count [6] = 7;
object_vertice_list [6] [1] = 7;
object_vertice_list [6] [2] = 8;
object_vertice_list [6] [3] = 9;
object_vertice_list [6] [4] = 10;
object_vertice_list [6] [5] = 11;
object_vertice_list [6] [6] = 12;
object_vertice_list [6] [7] = 7;
if ((fp = fopen("stage2.obj","w")) == 0) {
printf("Couldn't open stage2.obj file for write\n");
exit();
}
fprintf(fp,"1 1 3 %d %d",
object_polygon_count,
object_vertice_count);
for (vertice_id=1;
vertice_id <= object_vertice_count; vertice_id++)
{
fprintf(fp," %f %f %f",
object_vertice_x [vertice_id],
object_vertice_y [vertice_id],
object_vertice_z [vertice_id]);
}
for (polygon_id=1;
polygon_id <= object_polygon_count; polygon_id++)
{
fprintf(fp," %d",
object_polygon_vertice_count [polygon_id]);
for (vlist_id=1;
vlist_id <= object_polygon_vertice_count [polygon_id];
vlist_id++)
{
fprintf(fp," %d",
object_vertice_list [polygon_id] [vlist_id]);
}
}
printf("stage2.obj written\n");
fclose(fp);
printf("closed\n");
}