| 1 |
< |
/* Copyright (c) 1998 Silicon Graphics, Inc. */ |
| 2 |
< |
|
| 3 |
< |
/* SCCSid "$SunId$ SGI" */ |
| 4 |
< |
|
| 1 |
> |
/* RCSid: $Id$ */ |
| 2 |
|
/* |
| 3 |
|
* Header file for object display routines for rholo drivers. |
| 4 |
|
*/ |
| 5 |
+ |
#ifndef _RAD_RHDOBJ_H_ |
| 6 |
+ |
#define _RAD_RHDOBJ_H_ |
| 7 |
|
|
| 8 |
+ |
#ifdef __cplusplus |
| 9 |
+ |
extern "C" { |
| 10 |
+ |
#endif |
| 11 |
+ |
|
| 12 |
|
/* additional user commands */ |
| 13 |
|
#define DO_LOAD 0 /* load octree object */ |
| 14 |
|
#define DO_UNLOAD 1 /* unload (free) octree object */ |
| 47 |
|
dobj_command(cmd, args) : check/run object display command |
| 48 |
|
char *cmd, *args; : command name and argument string |
| 49 |
|
|
| 50 |
< |
Check to see if this is an object display command, and return the command |
| 51 |
< |
number after running it if it is, or -1 if it isn't. Error messages should |
| 50 |
> |
Check to see if this is an object display command, and return -1 if |
| 51 |
> |
it isn't. If it is a valid command that results in some visible |
| 52 |
> |
change, return non-zero, otherwise return 0. Error messages should |
| 53 |
|
be printed with error(COMMAND,err). |
| 54 |
|
|
| 55 |
|
|
| 65 |
|
then all visible objects are checked, but the name is not returned. |
| 66 |
|
|
| 67 |
|
|
| 68 |
< |
void |
| 68 |
> |
int |
| 69 |
|
dobj_render() : render visible objects to OpenGL |
| 70 |
|
|
| 71 |
|
Renders all display objects using OpenGL, assuming desired view has |
| 72 |
|
been set. This routine also assumes that the tone-mapping library |
| 73 |
|
is being used to set exposure, and it queries this information to |
| 74 |
< |
adjust light sources as necessary for illuminated objects. |
| 74 |
> |
adjust light sources as necessary for illuminated objects. Returns |
| 75 |
> |
the number of objects rendered. |
| 76 |
|
|
| 77 |
|
|
| 78 |
|
void |
| 149 |
|
******************************************************************/ |
| 150 |
|
|
| 151 |
|
|
| 147 |
– |
extern double dobj_trace(); |
| 148 |
– |
|
| 152 |
|
extern char rhdcmd[DO_NCMDS][8]; |
| 153 |
|
|
| 154 |
< |
extern int (*dobj_lightsamp)(); /* pointer to function to get lights */ |
| 154 |
> |
/* pointer to function to get lights */ |
| 155 |
> |
extern void (*dobj_lightsamp)(COLR clr, FVECT direc, FVECT pos); |
| 156 |
> |
|
| 157 |
> |
|
| 158 |
> |
extern int dobj_cleanup(void); |
| 159 |
> |
extern int dobj_command(char *cmd, register char *args); |
| 160 |
> |
extern int dobj_render(void); |
| 161 |
> |
extern double dobj_trace(char nm[], FVECT rorg, FVECT rdir); |
| 162 |
> |
extern int dobj_load(char *oct, char *nam); |
| 163 |
> |
extern int dobj_unload(char *nam); |
| 164 |
> |
extern int dobj_xform(char *nam, int rel, int ac, char **av); |
| 165 |
> |
extern int dobj_putstats(char *nam, FILE *fp); |
| 166 |
> |
extern int dobj_unmove(void); |
| 167 |
> |
extern int dobj_dup(char *oldnm, char *nam); |
| 168 |
> |
extern int dobj_lighting(char *nam, int cn); |
| 169 |
> |
|
| 170 |
> |
|
| 171 |
> |
#ifdef __cplusplus |
| 172 |
> |
} |
| 173 |
> |
#endif |
| 174 |
> |
#endif /* _RAD_RHDOBJ_H_ */ |
| 175 |
> |
|