1 |
+ |
#ifndef lint |
2 |
+ |
static const char RCSid[] = "$Id$"; |
3 |
+ |
#endif |
4 |
|
/* |
5 |
< |
3DS2POV.C Copyright (c) 1996 Steve Anger and Jeff Bowermaster |
5 |
> |
3DS2POV.C by Steve Anger and Jeff Bowermaster |
6 |
|
MGF output added by Greg Ward |
7 |
|
|
8 |
|
Reads a 3D Studio .3DS file and writes a POV-Ray, Vivid, |
13 |
|
Compiled with MSDOS GNU C++ 2.4.1 or generic ANSI-C compiler |
14 |
|
*/ |
15 |
|
|
13 |
– |
#ifndef lint |
14 |
– |
static char SCCSid[] = "$SunId$ LBL"; |
15 |
– |
#endif |
16 |
– |
|
16 |
|
#include <stdio.h> |
17 |
|
#include <stdlib.h> |
18 |
|
#include <math.h> |
46 |
|
#define MGF 4 |
47 |
|
#define RAW 99 |
48 |
|
|
49 |
< |
#define DEG(x) ((180.0/M_PI)*(x)) |
50 |
< |
#define RAD(x) ((M_PI/180.0)*(x)) |
49 |
> |
#define DEG(x) ((double)(180.0/M_PI)*(x)) |
50 |
> |
#define RAD(x) ((double)(M_PI/180.0)*(x)) |
51 |
|
|
52 |
|
#ifndef M_PI |
53 |
|
#define M_PI (3.14159265358979323846) |
457 |
|
char *env_opt, *option; |
458 |
|
|
459 |
|
printf("\n\nAutodesk 3D Studio to Raytracer file Translator. Feb/96\n"); |
460 |
< |
printf("Version 2.0 Copyright (c) 1996 Steve Anger and Jeff Bowermaster\n"); |
462 |
< |
#ifdef __GNUC__ |
463 |
< |
printf ("32 bit version. DOS extender Copyright (c) 1991 DJ Delorie\n"); |
464 |
< |
#endif |
460 |
> |
printf("Version 2.0 by Steve Anger and Jeff Bowermaster 1996\n"); |
461 |
|
printf ("\n"); |
462 |
|
|
463 |
|
if (argc < 2) { |
923 |
|
case MGF: |
924 |
|
comstr = "# "; |
925 |
|
break; |
926 |
+ |
default: |
927 |
+ |
printf ("Illegal format in write_summary() '%c'\n", format); |
928 |
+ |
exit(1); |
929 |
|
} |
930 |
|
fprintf (f, "%s Object CenterX CenterY CenterZ LengthX LengthY LengthZ\n", comstr); |
931 |
|
fprintf (f, "%s ---------- ---------- ---------- ---------- ---------- ---------- ----------\n", comstr); |
1600 |
|
/* Write a mesh file */ |
1601 |
|
void write_mesh (FILE *f, Mesh *mesh) |
1602 |
|
{ |
1604 |
– |
FILE *fi; |
1603 |
|
int i; |
1604 |
|
char curmat[80]; |
1605 |
|
Vector va, vb, vc; |