--- ray/src/common/radogl.h 1998/10/21 17:48:06 3.3 +++ ray/src/common/radogl.h 2003/06/06 16:38:47 3.7 @@ -1,11 +1,16 @@ -/* Copyright (c) 1998 Silicon Graphics, Inc. */ - -/* SCCSid "$SunId$ SGI" */ - +/* RCSid $Id: radogl.h,v 3.7 2003/06/06 16:38:47 schorsch Exp $ */ /* * Header file for Radiance - OpenGL routines. */ +#ifndef _RAD_RADOGL_H_ +#define _RAD_RADOGL_H_ +#ifdef __cplusplus +extern "C" { +#endif + +#include "copyright.h" + #include "standard.h" #include #include "color.h" @@ -43,11 +48,58 @@ extern int domats; /* are we doing materials? */ extern LUTAB mtab; /* material/modifier lookup table */ -extern MATREC *newmaterial(), *getmatp(); +#define issrcmat(m) ((m) != NULL && islight((m)->type) && \ + (m)->type != MAT_GLOW) -extern int newglist(); + /* defined in rgldomat.c */ +extern void domatobj(MATREC *mp, FVECT cent); +extern void domatvert(MATREC *mp, FVECT v, FVECT n); + /* defined in rglfile.c */ +extern int newglist(void); +extern void rgl_checkerr(char *where); +extern int rgl_filelist(int ic, char **inp, int *nl); +extern int rgl_octlist(char *fname, FVECT cent, FLOAT *radp, int *nl); +extern void rgl_load(char *inpspec); +extern void rgl_object(char *name, FILE *fp); + /* defined in rglinst.c */ +extern int o_instance(OBJREC *o); +extern int loadoctrees(void); +extern double checkoct(char *fname, FVECT cent); +extern int loadoct(char *fname); + /* defined in rglmat.c */ +extern void rgl_matclear(void); +extern MATREC *getmatp(char *nam); +extern int o_default(OBJREC *o); +extern int o_unsupported(OBJREC *o); +extern MATREC *newmaterial(char *nam); +extern void freemtl(MATREC *mp); +extern int m_normal(OBJREC *o); +extern int m_aniso(OBJREC *o); +extern int m_glass(OBJREC *o); +extern int m_brdf(OBJREC *o); +extern int m_brdf2(OBJREC *o); +extern int m_light(OBJREC *o); +extern int m_mirror(OBJREC *o); +extern int m_prism(OBJREC *o); + /* defined in rglsrc.c */ +extern void lightinit(void); +extern void lightclean(void); +extern void lightdefs(void); +extern int o_source(OBJREC *o); +extern int doflatsrc(MATREC *m, FVECT pos, FVECT norm, double area); +extern int dosphsrc(MATREC *m, FVECT pos, double area); + /* defined in rglsurf.c */ +extern void setmaterial(MATREC *mp, FVECT cent, int ispoly); +extern double polyarea(FVECT cent, FVECT norm, int n, FVECT v[]); +extern int o_face(OBJREC *o); +extern void surfclean(void); +extern int o_sphere(OBJREC *o); +extern int o_cone(OBJREC *o); +extern int o_ring(OBJREC *o); -extern double checkoct(); -#define issrcmat(m) ((m) != NULL && islight((m)->type) && \ - (m)->type != MAT_GLOW) +#ifdef __cplusplus +} +#endif +#endif /* _RAD_RADOGL_H_ */ +