home *** CD-ROM | disk | FTP | other *** search
/ Learn 3D Graphics Programming on the PC / Learn_3D_Graphics_Programming_on_the_PC_Ferraro.iso / rwdos / rwlib.h < prev    next >
C/C++ Source or Header  |  1995-02-15  |  46KB  |  719 lines

  1. /******************************************/
  2. /*                                        */
  3. /*    RenderWare(TM) Graphics Library     */
  4. /*                                        */
  5. /******************************************/
  6.  
  7. /*
  8.  * This file is a product of Criterion Software Ltd.
  9.  * 
  10.  * This file is provided as is with no warranties of any kind and is 
  11.  * provided without any obligiation on Criterion Software Ltd.
  12.  * or Canon Inc. to assist in its use or modifiation.
  13.  * 
  14.  * Criterion Software Ltd. and Canon Inc. will not, under any
  15.  * circumstances, be liable for any lost revenue or other damages
  16.  * arising from the use of this file.
  17.  *
  18.  * Copyright (c) 1991, 1992, 1993, 1994. Canon Inc.
  19.  * All Rights Reserved.
  20.  */
  21.  
  22. #ifndef   _RWLIBH
  23. #define   _RWLIBH
  24.  
  25. #ifndef    ARGS
  26. #define    ARGS(ALIST)     ALIST
  27. #endif  /* ARGS */
  28.  
  29. #include <stdio.h>
  30.  
  31. #ifdef    __cplusplus
  32. extern "C" {
  33. #endif /* __cplusplus */
  34.  
  35. #include "rwmacros.h"
  36. #include "rwtypes.h"
  37.  
  38. #ifndef _MODELH
  39. #include "rwerrors.h"
  40. #endif
  41.  
  42. extern RwClump *            RwAddChildToClump ARGS((RwClump *clump,
  43.                                    RwClump *child));
  44. extern RwScene *            RwAddClumpToScene ARGS((RwScene *scene,
  45.                                    RwClump *clump));
  46. extern RwBool               RwAddHint ARGS((RwClumpHints hint));
  47. extern RwClump *            RwAddHintToClump ARGS((RwClump *clump,
  48.                                    RwClumpHints hint));
  49. extern RwScene *            RwAddLightToScene ARGS((RwScene *scene,
  50.                                    RwLight *light));
  51. extern RwPolygon3d *        RwAddPolygonToClump ARGS((RwClump *clump,
  52.                                    RwInt32 sides,
  53.                                    RwInt32 *varray));
  54. extern RwClump *            RwAddPolygonsToClump ARGS((RwClump *dst,
  55.                                    RwClump *src));
  56. extern RwMaterial *         RwAddTextureModeToMaterial ARGS((RwMaterial *m,
  57.                                    RwTextureModes mode));
  58. extern RwPolygon3d *        RwAddTextureModeToPolygon ARGS((RwPolygon3d *pol,
  59.                                    RwTextureModes mode));
  60. extern RwBool               RwAddTextureModeToSurface ARGS((RwTextureModes mode));
  61. extern RwClump *            RwAddUserDrawToClump ARGS((RwClump *clump,
  62.                                    RwUserDraw * userdraw));
  63. extern RwV3d *              RwAddVector ARGS((RwV3d *a, RwV3d *b, RwV3d *c));
  64. extern RwInt32              RwAddVertexToClump ARGS((RwClump *clump ,
  65.                                    RwReal x, RwReal y, RwReal z));
  66. extern RwCamera *           RwBeginCameraUpdate ARGS((RwCamera *cam, void *param));
  67. extern RwRaster *           RwBitmapRaster ARGS((void *bitmap,
  68.                                    RwRasterOptions options));
  69. extern RwBool               RwBlock ARGS((RwReal width,  RwReal height,
  70.                                    RwReal depth));
  71. extern RwClump *            RwCalculateClumpVertexNormal ARGS((RwClump *clump,
  72.                                    RwInt32 vindex));
  73. extern RwCamera *           RwClearCameraViewport ARGS((RwCamera *cam));
  74. extern void                 RwClose ARGS((void));
  75. extern void                 RwCloseDebugStream ARGS((void));
  76. extern RwBool               RwClumpBegin ARGS((void));
  77. extern RwReal               RwClumpDistance ARGS((RwClump *clump, RwV3d *pos));
  78. extern RwClump *            RwClumpEnd ARGS((RwClump* * instance));
  79. extern RwBool               RwCone ARGS((RwReal height,
  80.                                    RwReal radius, RwInt32 sides));
  81. extern RwMaterial *         RwCopyMaterial ARGS((RwMaterial *src,
  82.                                    RwMaterial *dst));
  83. extern RwMatrix4d *         RwCopyMatrix ARGS((RwMatrix4d *src,
  84.                                    RwMatrix4d *dst));
  85. extern RwCamera *           RwCreateCamera ARGS((RwInt32 maxw, RwInt32 maxh,
  86.                                    void *image));
  87. extern RwClump *            RwCreateClump ARGS((RwInt32 vcount, RwInt32 pcount));
  88. extern RwLight *            RwCreateLight ARGS((RwLightType kind,
  89.                                    RwReal x, RwReal y, RwReal z,
  90.                                    RwReal lum));
  91. extern RwMaterial *         RwCreateMaterial ARGS((void));
  92. extern RwMatrix4d *         RwCreateMatrix ARGS((void));
  93. extern RwRaster *           RwCreateRaster ARGS((RwInt32 w, RwInt32 h));
  94. extern RwScene *            RwCreateScene ARGS((void));
  95. extern RwSpline *           RwCreateSpline ARGS((RwInt32 npoints,
  96.                                    RwSplineType type, RwV3d *pts));
  97. extern RwClump *            RwCreateSprite ARGS((RwTexture *texture));
  98. extern RwTexture *          RwCreateTexture ARGS((RwRaster *raster));
  99. extern RwUserDraw *         RwCreateUserDraw ARGS((RwUserDrawType type,
  100.                                    RwUserDrawAlignmentTypes align,
  101.                                    RwInt32 x, RwInt32 y, RwInt32 width, RwInt32 height,
  102.                                    RwUserDrawCallBack callback));
  103. extern RwV3d *              RwCrossProduct ARGS((RwV3d *a,
  104.                                    RwV3d *b, RwV3d *c));
  105. extern RwClump *            RwCubicTexturizeClump ARGS((RwClump *clump));
  106. extern RwMaterial *         RwCurrentMaterial ARGS((void));
  107. extern RwBool               RwCylinder ARGS((RwReal height,
  108.                                    RwReal minrad, RwReal maxrad, RwInt32 sides));
  109. extern RwCamera *           RwDamageCameraViewport ARGS((RwCamera *cam,
  110.                                    RwInt32 x, RwInt32 y, RwInt32 w, RwInt32 h));
  111. extern RwScene *            RwDefaultScene ARGS((void));
  112. extern RwBool               RwDestroyCamera ARGS((RwCamera *cam));
  113. extern RwBool               RwDestroyClump ARGS((RwClump *clump));
  114. extern RwBool               RwDestroyLight ARGS((RwLight *light));
  115. extern RwBool               RwDestroyMaterial ARGS((RwMaterial *m));
  116. extern RwBool               RwDestroyMatrix ARGS((RwMatrix4d *mat));
  117. extern RwBool               RwDestroyPolygon ARGS((RwPolygon3d *pol));
  118. extern RwBool               RwDestroyRaster ARGS((RwRaster *ras));
  119. extern RwBool               RwDestroyScene ARGS((RwScene *scene));
  120. extern RwBool               RwDestroySpline ARGS((RwSpline *spline));
  121. extern RwBool               RwDestroyTexture ARGS((RwTexture *t));
  122. extern RwBool               RwDestroyUserDraw ARGS((RwUserDraw * userdraw));
  123. extern RwInt32              RwDeviceControl ARGS((RwDeviceAction action,
  124.                                    RwInt32 param1, void *param2, RwInt32 size));
  125. extern RwBool               RwDisc ARGS((RwReal height, RwReal radius,
  126.                                    RwInt32 sides));
  127. extern RwReal               RwDotProduct ARGS((RwV3d *a, RwV3d *b));
  128. extern RwCamera *           RwDuplicateCamera ARGS((RwCamera *cam,
  129.                                    void *image));
  130. extern RwClump *            RwDuplicateClump ARGS((RwClump *clump));
  131. extern RwLight *            RwDuplicateLight ARGS((RwLight *light));
  132. extern RwMaterial *         RwDuplicateMaterial ARGS((RwMaterial *src));
  133. extern RwMatrix4d *         RwDuplicateMatrix ARGS((RwMatrix4d *mat));
  134. extern RwRaster *           RwDuplicateRaster ARGS((RwRaster *ras));
  135. extern RwSpline *           RwDuplicateSpline ARGS((RwSpline *spline));
  136. extern RwUserDraw *         RwDuplicateUserDraw ARGS((RwUserDraw * userdraw));
  137. extern RwCamera *           RwEndCameraUpdate ARGS((RwCamera *cam));
  138. extern RwClump *            RwEnvMapClump ARGS((RwClump *clump));
  139. extern RwClump *            RwFindClump ARGS((RwClump *clump,
  140.                                    RwBool (*predicate) (RwClump *clump)));
  141. extern RwClump *            RwFindClumpInt ARGS((RwClump *clump,
  142.                                    RwBool (*predicate) (RwClump *clump, RwInt32 arg),
  143.                                    RwInt32 arg));
  144. extern RwClump *            RwFindClumpLong ARGS((RwClump *clump,
  145.                                    RwBool (*predicate) (RwClump *clump, RwInt32 arg),
  146.                                    RwInt32 arg));
  147. extern RwClump *            RwFindClumpPointer ARGS((RwClump *clump,
  148.                                    RwBool (*predicate) (RwClump *clump, void *arg),
  149.                                    void *arg));
  150. extern RwClump *            RwFindClumpReal ARGS((RwClump *clump,
  151.                                    RwBool (*predicate) (RwClump *clump, RwReal arg),
  152.                                    RwReal arg));
  153. extern RwTexture *          RwFindNamedTexture ARGS((char *name));
  154. extern RwClump *            RwFindTaggedClump ARGS((RwClump *clump, RwInt32 tag));
  155. extern RwPolygon3d *        RwFindTaggedPolygon ARGS((RwClump *clump,
  156.                               RwInt32 data));
  157. extern RwClump *            RwForAllClumpsInHierarchy ARGS((RwClump *clump,
  158.                                    RwClumpFuncVoid func));
  159. extern RwClump *            RwForAllClumpsInHierarchyInt ARGS((RwClump *clump,
  160.                                    RwClumpFuncInt func, RwInt32 arg));
  161. extern RwClump *            RwForAllClumpsInHierarchyLong ARGS((RwClump *clump,
  162.                                    RwClumpFuncLong func, RwInt32 arg));
  163. extern RwClump *            RwForAllClumpsInHierarchyPointer ARGS((RwClump *clump,
  164.                                    RwClumpFuncPointer func, void *arg));
  165. extern RwClump *            RwForAllClumpsInHierarchyReal ARGS((RwClump *clump,
  166.                                    RwClumpFuncReal func, RwReal arg));
  167. extern RwScene *            RwForAllClumpsInScene ARGS((RwScene *scene,
  168.                                    RwClumpFuncVoid func));
  169. extern RwScene *            RwForAllClumpsInSceneInt ARGS((RwScene *scene,
  170.                                    RwClumpFuncInt func, RwInt32 arg));
  171. extern RwScene *            RwForAllClumpsInSceneLong ARGS((RwScene *scene,
  172.                                    RwClumpFuncLong func, RwInt32 arg));
  173. extern RwScene *            RwForAllClumpsInScenePointer ARGS((RwScene *scene,
  174.                                    RwClumpFuncPointer func, void *arg));
  175. extern RwScene *            RwForAllClumpsInSceneReal ARGS((RwScene *scene,
  176.                                    RwClumpFuncReal func, RwReal arg));
  177. extern RwScene *            RwForAllLightsInScene ARGS((RwScene *scene,
  178.                                    RwLightFuncVoid func));
  179. extern RwScene *            RwForAllLightsInSceneInt ARGS((RwScene *scene,
  180.                                    RwLightFuncInt func, RwInt32 arg));
  181. extern RwScene *            RwForAllLightsInSceneLong ARGS((RwScene *scene,
  182.                                    RwLightFuncLong func, RwInt32 arg));
  183. extern RwScene *            RwForAllLightsInScenePointer ARGS((RwScene *scene,
  184.                                    RwLightFuncPointer func, void *arg));
  185. extern RwScene *            RwForAllLightsInSceneReal ARGS((RwScene *scene,
  186.                                    RwLightFuncReal func, RwReal arg));
  187. extern RwBool               RwForAllNamedTextures ARGS((RwTextureFuncVoid func));
  188. extern RwBool               RwForAllNamedTexturesInt ARGS((RwTextureFuncInt func,
  189.                                    RwInt32 arg));
  190. extern RwBool               RwForAllNamedTexturesLong ARGS((RwTextureFuncLong func,
  191.                                    RwInt32 arg));
  192. extern RwBool               RwForAllNamedTexturesPointer ARGS((RwTextureFuncPointer func,
  193.                                    void *arg));
  194. extern RwBool               RwForAllNamedTexturesReal ARGS((RwTextureFuncReal func,
  195.                                    RwReal arg));
  196. extern RwClump *            RwForAllPolygonsInClump ARGS((RwClump *clump,
  197.                                    RwPolygon3dFuncVoid func));
  198. extern RwClump *            RwForAllPolygonsInClumpInt ARGS((RwClump *clump,
  199.                                    RwPolygon3dFuncInt func, RwInt32 arg));
  200. extern RwClump *            RwForAllPolygonsInClumpLong ARGS((RwClump *clump,
  201.                                    RwPolygon3dFuncLong func, RwInt32 arg));
  202. extern RwClump *            RwForAllPolygonsInClumpPointer ARGS((RwClump *clump,
  203.                                    RwPolygon3dFuncPointer func, void *arg));
  204. extern RwClump *            RwForAllPolygonsInClumpReal ARGS((RwClump *clump,
  205.                                    RwPolygon3dFuncReal func, RwReal arg));
  206. extern RwClump *            RwForAllUserDrawsInClump ARGS((RwClump *clump,
  207.                                    RwUserDrawFuncVoid func));
  208. extern RwClump *            RwForAllUserDrawsInClumpInt ARGS((RwClump *clump,
  209.                                    RwUserDrawFuncInt func, RwInt32 arg));
  210. extern RwClump *            RwForAllUserDrawsInClumpLong ARGS((RwClump *clump,
  211.                                    RwUserDrawFuncLong func, RwInt32 arg));
  212. extern RwClump *            RwForAllUserDrawsInClumpPointer ARGS((RwClump *clump,
  213.                                    RwUserDrawFuncPointer func, void *arg));
  214. extern RwClump *            RwForAllUserDrawsInClumpReal ARGS((RwClump *clump,
  215.                                    RwUserDrawFuncReal func,RwReal arg));
  216. extern RwRGBColor *         RwGetCameraBackColor ARGS((RwCamera *cam,
  217.                                    RwRGBColor *color));
  218. extern RwRaster *           RwGetCameraBackdrop ARGS((RwCamera *cam));
  219. extern RwCamera *           RwGetCameraBackdropOffset ARGS((RwCamera *cam,
  220.                                    RwInt32 *x, RwInt32 *y));
  221. extern RwCamera *           RwGetCameraBackdropViewportRect ARGS((RwCamera *cam,
  222.                                    RwInt32 *x, RwInt32 *y, RwInt32 *w, RwInt32 *h));
  223. extern void *               RwGetCameraData ARGS((RwCamera *cam));
  224. extern void *               RwGetCameraImage ARGS((RwCamera *cam));
  225. extern RwV3d *              RwGetCameraLookAt ARGS((RwCamera *cam, RwV3d *p));
  226. extern RwV3d *              RwGetCameraLookRight ARGS((RwCamera *cam,
  227.                                    RwV3d *p));
  228. extern RwV3d *              RwGetCameraLookUp ARGS((RwCamera *cam,  RwV3d *p));
  229. extern RwReal               RwGetCameraNearClipping ARGS((RwCamera *cam));
  230. extern RwReal               RwGetCameraFarClipping ARGS((RwCamera *cam));
  231. extern RwV3d *              RwGetCameraPosition ARGS((RwCamera *cam,
  232.                                    RwV3d *p));
  233. extern RwCameraProjection   RwGetCameraProjection ARGS((RwCamera *cam));
  234. extern RwV3d *              RwGetCameraViewOffset ARGS((RwCamera *cam,
  235.                                    RwV3d *p));
  236. extern RwCamera *           RwGetCameraViewport ARGS((RwCamera *cam,
  237.                                    RwInt32 *x, RwInt32 *y, RwInt32 *w, RwInt32 *h));
  238. extern RwRaster *           RwGetCameraViewportRaster ARGS((RwCamera *cam,
  239.                                    RwRaster *ras));
  240. extern RwCamera *           RwGetCameraViewwindow ARGS((RwCamera *cam,
  241.                                    RwReal *w, RwReal *h));
  242. extern RwClump *            RwGetClumpBBox ARGS((RwClump *clump,
  243.                                    RwV3d *blleft, RwV3d *furight));
  244. extern void *               RwGetClumpData ARGS((RwClump *clump));
  245. extern RwAxisAlignment      RwGetClumpAxisAlignment ARGS((RwClump *clump));
  246. extern RwClumpHints         RwGetClumpHints ARGS((RwClump *clump));
  247. extern RwMatrix4d *         RwGetClumpJointMatrix ARGS((RwClump *clump,
  248.                                    RwMatrix4d *mat));
  249. extern RwClump *            RwGetClumpLocalBBox ARGS((RwClump *clump,
  250.                                    RwV3d *blleft, RwV3d *furight));
  251. extern RwMatrix4d *         RwGetClumpLTM ARGS((RwClump *clump,
  252.                                    RwMatrix4d *mat));
  253. extern RwMatrix4d *         RwGetClumpMatrix ARGS((RwClump *clump,
  254.                                    RwMatrix4d *mat));
  255. extern RwInt32              RwGetClumpNumChildren ARGS((RwClump *clump));
  256. extern RwInt32              RwGetClumpNumPolygons ARGS((RwClump *clump));
  257. extern RwInt32              RwGetClumpNumUserDraws ARGS((RwClump *clump));
  258. extern RwInt32              RwGetClumpNumVertices ARGS((RwClump *clump));
  259. extern RwV3d *              RwGetClumpOrigin ARGS((RwClump *, RwV3d *origin));
  260. extern RwScene *            RwGetClumpOwner ARGS((RwClump *clump));
  261. extern RwClump *            RwGetClumpParent ARGS((RwClump *clump));
  262. extern RwClump *            RwGetClumpRoot ARGS((RwClump *clump));
  263. extern RwState              RwGetClumpState ARGS((RwClump *clump));
  264. extern RwInt32              RwGetClumpTag ARGS((RwClump *clump));
  265. extern RwV3d *              RwGetClumpVertex ARGS((RwClump *clump,
  266.                                    RwInt32 index, RwV3d *vertex));
  267. extern RwV3d *              RwGetClumpVertexNormal ARGS((RwClump *clump,
  268.                                    RwInt32 index, RwV3d *normal));
  269. extern RwUV *               RwGetClumpVertexUV ARGS((RwClump *clump,
  270.                                    RwInt32 index, RwUV *uv));
  271. extern RwBool               RwGetClumpVertexViewportPosition ARGS((RwClump *clump,
  272.                                    RwInt32 vindex, RwCamera *camera,
  273.                                    RwInt32 *px, RwInt32 *py, RwBool *visible));
  274. extern RwClump *            RwGetClumpViewportRect ARGS((RwClump *clump,
  275.                                    RwCamera *cam, 
  276.                                    RwInt32 *x, RwInt32 *y, RwInt32 *w, RwInt32 *h));
  277. extern RwState         RwGetDebugAssertionState ARGS((void));
  278. extern RwState         RwGetDebugMessageState ARGS((void));
  279. extern RwState         RwGetDebugScriptState ARGS((void));
  280. extern RwDebugSeverity      RwGetDebugSeverity ARGS((void));
  281. extern RwState         RwGetDebugTraceState ARGS((void));
  282. extern RwBool               RwGetDeviceInfo ARGS((RwDeviceInfo info,
  283.                                    void *value, RwInt32 size));
  284. extern RwClump *            RwGetFirstChildClump ARGS((RwClump *clump));
  285. extern RwReal               RwGetLightBrightness ARGS((RwLight *light));
  286. extern RwRGBColor *         RwGetLightColor ARGS((RwLight *light, RwRGBColor *color));
  287. extern RwReal               RwGetLightConeAngle ARGS((RwLight *light));
  288. extern void *               RwGetLightData ARGS((RwLight *light));
  289. extern RwScene *            RwGetLightOwner ARGS((RwLight *light));
  290. extern RwV3d *              RwGetLightPosition ARGS((RwLight *light, RwV3d *p));
  291. extern RwState              RwGetLightState ARGS((RwLight *light));
  292. extern RwLightType          RwGetLightType ARGS((RwLight *light));
  293. extern RwV3d *              RwGetLightVector ARGS((RwLight *light, RwV3d *v));
  294. extern RwReal               RwGetMaterialAmbient ARGS((RwMaterial *m));
  295. extern RwRGBColor *         RwGetMaterialColor ARGS((RwMaterial *m,
  296.                                    RwRGBColor *color));
  297. extern void *               RwGetMaterialData ARGS((RwMaterial *m));
  298. extern RwReal               RwGetMaterialDiffuse ARGS((RwMaterial *m));
  299. extern RwGeometrySampling   RwGetMaterialGeometrySampling ARGS((RwMaterial *m));
  300. extern RwLightSampling      RwGetMaterialLightSampling ARGS((RwMaterial *m));
  301. extern RwReal               RwGetMaterialOpacity ARGS((RwMaterial *m));
  302. extern RwReal               RwGetMaterialSpecular ARGS((RwMaterial *m));
  303. extern RwTexture *          RwGetMaterialTexture ARGS((RwMaterial *m));
  304. extern RwTextureModes       RwGetMaterialTextureModes ARGS((RwMaterial *m));
  305. extern RwReal               RwGetMatrixElement ARGS((RwMatrix4d *mat,
  306.                                    RwInt32 i, RwInt32 j));
  307. extern RwReal *             RwGetMatrixElements ARGS((RwMatrix4d *mat,
  308.                                    RwReal farray[4][4]));
  309. extern RwTexture *          RwGetNamedTexture ARGS((char *name));
  310. extern RwClump *            RwGetNextClump ARGS((RwClump *clump));
  311. extern RwInt32              RwGetNumNamedTextures ARGS((void));
  312. extern RwPaletteEntry       *RwGetPaletteEntries ARGS((RwInt32 n, RwInt32 length, RwPaletteEntry *rgb));
  313. extern RwReal               RwGetPolygonAmbient ARGS((RwPolygon3d *pol));
  314. extern RwV3d *              RwGetPolygonCenter ARGS((RwPolygon3d *pol,
  315.                                    RwV3d *p));
  316. extern RwRGBColor *         RwGetPolygonColor ARGS((RwPolygon3d *pol,
  317.                                    RwRGBColor *color));
  318. extern void *               RwGetPolygonData ARGS((RwPolygon3d *pol));
  319. extern RwReal               RwGetPolygonDiffuse ARGS((RwPolygon3d *pol));
  320. extern RwGeometrySampling   RwGetPolygonGeometrySampling ARGS((RwPolygon3d *p));
  321. extern RwLightSampling      RwGetPolygonLightSampling ARGS((RwPolygon3d *apol));
  322. extern RwMaterial *         RwGetPolygonMaterial ARGS((RwPolygon3d *p));
  323. extern RwV3d *              RwGetPolygonNormal ARGS((RwPolygon3d *pol, 
  324.                                     RwV3d *normal));
  325. extern RwInt32              RwGetPolygonNumSides ARGS((RwPolygon3d *p));
  326. extern RwReal               RwGetPolygonOpacity ARGS((RwPolygon3d *p));
  327. extern RwClump *            RwGetPolygonOwner ARGS((RwPolygon3d *pol));
  328. extern RwReal               RwGetPolygonSpecular ARGS((RwPolygon3d *pol));
  329. extern RwInt32                RwGetPolygonTag ARGS((RwPolygon3d *pol));
  330. extern RwTexture *          RwGetPolygonTexture ARGS((RwPolygon3d *p));
  331. extern RwTextureModes       RwGetPolygonTextureModes ARGS((RwPolygon3d *p));
  332. extern RwUV *               RwGetPolygonUV ARGS((RwPolygon3d *p, RwUV *uvs));
  333. extern RwInt32              RwGetPolygonVertices ARGS((RwPolygon3d *p,
  334.                                    RwInt32 *varray));
  335. extern void *               RwGetRasterData ARGS((RwRaster *ras));
  336. extern RwInt32              RwGetRasterDepth ARGS((RwRaster *ras));
  337. extern RwInt32              RwGetRasterHeight ARGS((RwRaster *ras));
  338. extern unsigned char *      RwGetRasterPixels ARGS((RwRaster *ras));
  339. extern RwInt32              RwGetRasterStride ARGS((RwRaster *ras));
  340. extern RwInt32              RwGetRasterWidth ARGS((RwRaster *ras));
  341. extern void *               RwGetSceneData ARGS((RwScene *scene));
  342. extern RwInt32              RwGetSceneNumClumps ARGS((RwScene *scene));
  343. extern RwInt32              RwGetSceneNumLights ARGS((RwScene *scene));
  344. extern char *               RwGetShapePath ARGS((char *path));
  345. extern void *               RwGetSplineData ARGS((RwSpline *spline));
  346. extern RwInt32              RwGetSplineNumPoints ARGS((RwSpline *sp));
  347. extern RwV3d *              RwGetSplinePoint ARGS((RwSpline *sp, RwInt32 index,
  348.                                    RwV3d *point));
  349. extern RwBool               RwGetSystemInfo ARGS((RwSystemInfo type,
  350.                                    void *info, RwInt32 size));
  351. extern void *               RwGetTextureData ARGS((RwTexture *texture));
  352. extern RwSearchMode         RwGetTextureDictSearchMode ARGS((void));
  353. extern RwTextureDitherMode  RwGetTextureDithering ARGS((void));
  354. extern RwInt32              RwGetTextureFrame ARGS((RwTexture *t));
  355. extern RwInt32              RwGetTextureFrameStep ARGS((RwTexture *t));
  356. extern RwState              RwGetTextureGammaCorrection ARGS((void));
  357. extern char *               RwGetTextureName ARGS((RwTexture *texture, char *name,
  358.                                                    RwInt32 size));
  359. extern RwInt32              RwGetTextureNumFrames ARGS((RwTexture *t));
  360. extern RwRaster *           RwGetTextureRaster ARGS((RwTexture *texture));
  361. extern RwUserDrawAlignmentTypes RwGetUserDrawAlignment ARGS((RwUserDraw * userdraw));
  362. extern RwUserDrawCallBack   RwGetUserDrawCallback ARGS((RwUserDraw * userdraw));
  363. extern void *               RwGetUserDrawData ARGS((RwUserDraw * userdraw));
  364. extern RwUserDraw *         RwGetUserDrawOffset ARGS((RwUserDraw * userdraw,
  365.                                    RwInt32 *x, RwInt32 *y));
  366. extern RwClump *            RwGetUserDrawOwner ARGS((RwUserDraw * userdraw));
  367. extern RwUserDrawAlignmentTypes RwGetUserDrawParentAlignment ARGS((RwUserDraw * userdraw));
  368. extern RwUserDraw *         RwGetUserDrawSize ARGS((RwUserDraw * userdraw,
  369.                                    RwInt32 *width, RwInt32 *height));
  370. extern RwUserDrawType       RwGetUserDrawType ARGS((RwUserDraw * userdraw));
  371. extern RwInt32              RwGetUserDrawVertexIndex ARGS((RwUserDraw * userdraw));
  372. extern RwBool               RwHemisphere ARGS((RwReal radius, RwInt32 sides));
  373. extern RwBool               RwIdentityCTM ARGS((void));
  374. extern RwBool               RwIdentityJointTM ARGS((void));
  375. extern RwMatrix4d *         RwIdentityMatrix ARGS((RwMatrix4d *mat));
  376. extern RwBool               RwInclude ARGS((RwClump *clump));
  377. extern RwBool               RwIncludeGeometry ARGS((RwClump *clump));
  378. extern RwCamera *           RwInvalidateCameraViewport ARGS((RwCamera *cam));
  379. extern RwMatrix4d *         RwInvertMatrix ARGS((RwMatrix4d *src,
  380.                                    RwMatrix4d *dst));
  381. extern RwBool               RwJointTransformBegin ARGS((void));
  382. extern RwBool               RwJointTransformEnd ARGS((void));
  383. extern RwTexture *          RwMaskTexture ARGS((RwTexture *texture,
  384.                                    RwRaster *mask));
  385. extern RwBool               RwMaterialBegin ARGS((void));
  386. extern RwBool               RwMaterialEnd ARGS((void));
  387. extern RwBool               RwModelBegin ARGS((void));
  388. extern RwBool               RwModelEnd ARGS((void));
  389. extern RwMatrix4d *         RwMultiplyMatrix ARGS((RwMatrix4d *a,
  390.                                    RwMatrix4d *b, RwMatrix4d *c));
  391. extern RwV3d *              RwNormalize ARGS((RwV3d *p));
  392. extern RwClump *            RwNormalizeClump ARGS((RwClump *clump));
  393. extern RwBool               RwOpen ARGS((char *devname, void *param));
  394. extern RwBool               RwOpenDebugStream ARGS((char *filename));
  395. extern RwBool               RwOpenExt ARGS((char *devname, void *param,
  396.                                    RwInt32 numargs, RwOpenArgument * args));
  397. extern RwMatrix4d *         RwOrthoNormalizeMatrix ARGS((RwMatrix4d *src,
  398.                                    RwMatrix4d *dst));
  399. extern RwCamera *           RwPanCamera ARGS((RwCamera *cam, RwReal theta));
  400. extern RwPickRecord *       RwPickClump ARGS((RwClump *clump,
  401.                                    RwInt32 vpx, RwInt32 vpy,
  402.                                    RwCamera *cam, RwPickRecord *record));
  403. extern RwPickRecord *       RwPickScene ARGS((RwScene *scene,
  404.                                    RwInt32 x, RwInt32 y,
  405.                                    RwCamera *camera, RwPickRecord *record));
  406. extern RwCamera *           RwPointCamera ARGS((RwCamera *cam,
  407.                                    RwReal x, RwReal y, RwReal z));
  408. extern RwBool               RwPolygon ARGS((RwInt32 sides, RwInt32 *varray));
  409. extern RwBool               RwPolygonExt ARGS((RwInt32 sides, RwInt32 *varray,
  410.                                    RwInt32 tag));
  411. extern RwMaterial *         RwPopCurrentMaterial ARGS((void));
  412. extern RwMatrix4d *         RwPopScratchMatrix ARGS((void));
  413. extern RwBool               RwProtoBegin ARGS((char *name));
  414. extern RwBool               RwProtoEnd ARGS((void));
  415. extern RwBool               RwProtoInstance ARGS((char *name));
  416. extern RwBool               RwProtoInstanceGeometry ARGS((char *name));
  417. extern RwMaterial *         RwPushCurrentMaterial ARGS((void));
  418. extern RwMatrix4d *         RwPushScratchMatrix ARGS((void));
  419. extern RwBool               RwQuad ARGS((RwInt32 v1, RwInt32 v2,
  420.                                    RwInt32 v3, RwInt32 v4));
  421. extern RwBool               RwQuadExt ARGS((RwInt32 v1, RwInt32 v2,
  422.                                    RwInt32 v3, RwInt32 v4, RwInt32 tag));
  423. extern RwMatrix4d *         RwQueryRotateMatrix ARGS((RwMatrix4d *mat,
  424.                                        RwV3d *axis, RwReal *degrees));
  425. extern RwInt32              RwRandom ARGS((void));
  426. extern RwRaster *           RwReadMaskRaster ARGS((char *name));
  427. extern RwTexture *          RwReadNamedTexture ARGS((char *name));
  428. extern RwRaster *           RwReadRaster ARGS((char *name,
  429.                                    RwRasterOptions options));
  430. extern RwClump *            RwReadShape ARGS((char *filename));
  431. extern RwTexture *          RwReadTexture ARGS((char *name));
  432. extern RwRaster *           RwReleaseRasterPixels ARGS((RwRaster *raster, unsigned char *pixels));
  433. extern RwClump *            RwRemoveChildFromClump ARGS((RwClump *clump));
  434. extern RwClump *            RwRemoveClumpFromScene ARGS((RwClump *clump));
  435. extern RwBool               RwRemoveHint ARGS((RwClumpHints hint));
  436. extern RwClump *            RwRemoveHintFromClump ARGS((RwClump *clump,
  437.                                    RwClumpHints hint));
  438. extern RwLight *            RwRemoveLightFromScene ARGS((RwLight *light));
  439. extern RwMaterial *         RwRemoveTextureModeFromMaterial ARGS((RwMaterial *m,
  440.                                    RwTextureModes mode));
  441. extern RwPolygon3d *        RwRemoveTextureModeFromPolygon ARGS((RwPolygon3d *pol,
  442.                                    RwTextureModes mode));
  443. extern RwBool               RwRemoveTextureModeFromSurface ARGS((RwTextureModes mode));
  444. extern RwUserDraw *         RwRemoveUserDrawFromClump ARGS((RwUserDraw * userdraw));
  445. extern RwClump *            RwRenderClump ARGS((RwClump *clump));
  446. extern RwScene *            RwRenderScene ARGS((RwScene *scene));
  447. extern RwCamera *           RwResetCamera ARGS((RwCamera *cam));
  448. extern RwPolygon3d *        RwReversePolygonFace ARGS((RwPolygon3d *pol));
  449. extern RwCamera *           RwRevolveCamera ARGS((RwCamera *cam, RwReal theta));
  450. extern RwBool               RwRotateCTM ARGS((RwReal ax, RwReal ay, RwReal az,
  451.                                    RwReal theta));
  452. extern RwBool               RwRotateJointTM ARGS((RwReal ax,
  453.                                    RwReal ay, RwReal az, RwReal theta));
  454. extern RwMatrix4d *         RwRotateMatrix ARGS((RwMatrix4d *mat,
  455.                                    RwReal vx, RwReal vy, RwReal vz,
  456.                                    RwReal theta, RwCombineOperation op));
  457. extern RwMatrix4d *         RwRotateMatrixCos ARGS((RwMatrix4d *mat,
  458.                                    RwReal vx, RwReal vy, RwReal vz,
  459.                                    RwReal ctheta, RwReal dir,
  460.                                    RwCombineOperation op));
  461. extern RwBool               RwScaleCTM ARGS((RwReal sx, RwReal sy, RwReal sz));
  462. extern RwMatrix4d *         RwScaleMatrix ARGS((RwMatrix4d *mat,
  463.                                    RwReal sx, RwReal sy, RwReal sz,
  464.                                    RwCombineOperation op));
  465. extern RwV3d *              RwScaleVector ARGS((RwV3d *a, RwReal scale,
  466.                                    RwV3d *c));
  467. extern RwMatrix4d *         RwScratchMatrix ARGS((void));
  468. extern RwCamera *           RwSetCameraBackColor ARGS((RwCamera *cam,
  469.                                    RwReal r, RwReal g, RwReal b));
  470. extern RwCamera *           RwSetCameraBackColorStruct ARGS((RwCamera *cam,
  471.                                    RwRGBColor *color));
  472. extern RwCamera *           RwSetCameraBackdrop ARGS((RwCamera *cam,
  473.                                    RwRaster *ras));
  474. extern RwCamera *           RwSetCameraBackdropOffset ARGS((RwCamera *cam,
  475.                                    RwInt32 x, RwInt32 y));
  476. extern RwCamera *           RwSetCameraBackdropViewportRect ARGS((RwCamera *cam,
  477.                                    RwInt32 x, RwInt32 y, RwInt32 w, RwInt32 h));
  478.  
  479. extern RwCamera *           RwSetCameraData ARGS((RwCamera *cam,
  480.                                    void *data));
  481. extern RwCamera *           RwSetCameraLookAt ARGS((RwCamera *cam,
  482.                                    RwReal x, RwReal y, RwReal z));
  483. extern RwCamera *           RwSetCameraLookUp ARGS((RwCamera *cam,
  484.                                    RwReal x, RwReal y, RwReal z));
  485. extern RwCamera *           RwSetCameraNearClipping ARGS((RwCamera *cam,
  486.                                    RwReal neard));
  487. extern RwCamera *           RwSetCameraFarClipping ARGS((RwCamera *cam,
  488.                                    RwReal fard));
  489. extern RwCamera *           RwSetCameraPosition ARGS((RwCamera *cam,
  490.                                    RwReal x, RwReal y, RwReal z));
  491. extern RwCamera *           RwSetCameraProjection ARGS((RwCamera *cam,
  492.                                    RwCameraProjection kind));
  493. extern RwCamera *           RwSetCameraViewOffset ARGS((RwCamera *cam,
  494.                                    RwReal x, RwReal y));
  495. extern RwCamera *           RwSetCameraViewport ARGS((RwCamera *cam,
  496.                                    RwInt32 x, RwInt32 y, RwInt32 w, RwInt32 h));
  497. extern RwCamera *           RwSetCameraViewwindow ARGS((RwCamera *cam,
  498.                                    RwReal w, RwReal h));
  499. extern RwClump *            RwSetClumpData ARGS((RwClump *clump,
  500.                                    void *data));
  501. extern RwClump *            RwSetClumpAxisAlignment ARGS((RwClump *clump,
  502.                                    RwAxisAlignment alignment));
  503. extern RwClump *            RwSetClumpHints ARGS((RwClump *clump,
  504.                                    RwClumpHints hints));
  505. extern RwClump *            RwSetClumpState ARGS((RwClump *clump,
  506.                                    RwState onoff));
  507. extern RwClump *            RwSetClumpTag ARGS((RwClump *clump, RwInt32 tag));
  508. extern RwClump *            RwSetClumpVertex ARGS((RwClump *clump,
  509.                                    RwInt32 index, RwV3d *vertex));
  510. extern RwClump *            RwSetClumpVertexNormal ARGS((RwClump *clump,
  511.                                    RwInt32 vindex, RwV3d *normal));
  512. extern RwClump *            RwSetClumpVertexUV ARGS((RwClump *clump,
  513.                                    RwInt32 index, RwReal u, RwReal v));
  514. extern RwClump *            RwSetClumpVertices ARGS((RwClump *clump,
  515.                                    RwInt32 *index, RwV3d *vertex, RwInt32 n));
  516. extern void                 RwSetDebugAssertionState ARGS((RwState state));
  517. extern void                 RwSetDebugMessageState ARGS((RwState state));
  518. extern void                 RwSetDebugOutputState ARGS((RwState state));
  519. extern void                 RwSetDebugScriptState ARGS((RwState state));
  520. extern void                 RwSetDebugSeverity ARGS((RwDebugSeverity severity));
  521. extern RwBool               RwSetDebugStream ARGS((FILE * stream));
  522. extern void                 RwSetDebugTraceState ARGS((RwState state));
  523. extern RwBool               RwSetAxisAlignment ARGS((RwAxisAlignment alignment));
  524. extern RwBool               RwSetHints ARGS((RwClumpHints hints));
  525. extern RwLight *            RwSetLightBrightness ARGS((RwLight *light,
  526.                                    RwReal lum));
  527. extern RwLight *            RwSetLightColor ARGS((RwLight *light, 
  528.                                     RwReal r,RwReal g,RwReal b));
  529. extern RwLight *            RwSetLightColorStruct ARGS((RwLight *light, 
  530.                                     RwRGBColor *color));
  531. extern RwLight *            RwSetLightConeAngle ARGS((RwLight *light,
  532.                                    RwReal theta));
  533. extern RwLight *            RwSetLightData ARGS((RwLight *light,
  534.                                    void *data));
  535. extern RwLight *            RwSetLightPosition ARGS((RwLight *light,
  536.                                    RwReal x, RwReal y, RwReal z));
  537. extern RwLight *            RwSetLightState ARGS((RwLight *light,
  538.                                    RwState state));
  539. extern RwLight *            RwSetLightVector ARGS((RwLight *light,
  540.                                    RwReal x, RwReal y, RwReal z));
  541. extern RwMaterial *         RwSetMaterialAmbient ARGS((RwMaterial *m,
  542.                                    RwReal ka));
  543. extern RwMaterial *         RwSetMaterialColor ARGS((RwMaterial *m,
  544.                                    RwReal r, RwReal g, RwReal b));
  545. extern RwMaterial *         RwSetMaterialColorStruct ARGS((RwMaterial *m,
  546.                                    RwRGBColor *color));
  547. extern RwMaterial *         RwSetMaterialData ARGS((RwMaterial *m,
  548.                                    void *data));
  549. extern RwMaterial *         RwSetMaterialDiffuse ARGS((RwMaterial *m,
  550.                                    RwReal kd));
  551. extern RwMaterial *         RwSetMaterialGeometrySampling ARGS((RwMaterial *m,
  552.                                    RwGeometrySampling t));
  553. extern RwMaterial *         RwSetMaterialLightSampling ARGS((RwMaterial *m,
  554.                                    RwLightSampling t));
  555. extern RwMaterial *         RwSetMaterialOpacity ARGS((RwMaterial *m,
  556.                                    RwReal opacity));
  557. extern RwMaterial *         RwSetMaterialSpecular ARGS((RwMaterial *m,
  558.                                    RwReal ks));
  559. extern RwMaterial *         RwSetMaterialSurface ARGS((RwMaterial *m,
  560.                                    RwReal ka, RwReal kd, RwReal ks));
  561. extern RwMaterial *         RwSetMaterialTexture ARGS((RwMaterial *m,
  562.                                    RwTexture *what));
  563. extern RwMaterial *         RwSetMaterialTextureModes ARGS((RwMaterial *m,
  564.                                    RwTextureModes modes));
  565. extern RwMatrix4d *         RwSetMatrixElement ARGS((RwMatrix4d *mat,
  566.                                    RwInt32 i, RwInt32 j, RwReal val));
  567. extern RwMatrix4d *         RwSetMatrixElements ARGS((RwMatrix4d *mat,
  568.                                    RwReal farray[4][4]));
  569. extern RwInt32              RwSetPaletteEntries ARGS((RwInt32 n, RwInt32 length, RwPaletteEntry *rgb, RwPaletteOptions options));
  570. extern RwPolygon3d *        RwSetPolygonAmbient ARGS((RwPolygon3d *pol,
  571.                                    RwReal Ka));
  572. extern RwPolygon3d *        RwSetPolygonColor ARGS((RwPolygon3d *pol,
  573.                                    RwReal r, RwReal g, RwReal b));
  574. extern RwPolygon3d *        RwSetPolygonColorStruct ARGS((RwPolygon3d *pol,
  575.                                    RwRGBColor *color));
  576. extern RwPolygon3d *        RwSetPolygonData ARGS((RwPolygon3d *pol,
  577.                                    void *data));
  578. extern RwPolygon3d *        RwSetPolygonDiffuse ARGS((RwPolygon3d *pol,
  579.                                    RwReal Kd));
  580. extern RwPolygon3d *        RwSetPolygonGeometrySampling ARGS((RwPolygon3d *p,
  581.                                    RwGeometrySampling t));
  582. extern RwPolygon3d *        RwSetPolygonLightSampling ARGS((RwPolygon3d *p,
  583.                                    RwLightSampling t));
  584. extern RwPolygon3d *        RwSetPolygonMaterial ARGS((RwPolygon3d *p,
  585.                                    RwMaterial *m));
  586. extern RwPolygon3d *        RwSetPolygonOpacity ARGS((RwPolygon3d *p,
  587.                                    RwReal opacity));
  588. extern RwPolygon3d *        RwSetPolygonSpecular ARGS((RwPolygon3d *pol,
  589.                                    RwReal Ks));
  590. extern RwPolygon3d *        RwSetPolygonSurface ARGS((RwPolygon3d *pol,
  591.                                    RwReal ka, RwReal kd, RwReal ks));
  592. extern RwPolygon3d *        RwSetPolygonTag ARGS((RwPolygon3d *p,
  593.                                    RwInt32 tag));
  594. extern RwPolygon3d *        RwSetPolygonTexture ARGS((RwPolygon3d *p,
  595.                                    RwTexture *t));
  596. extern RwPolygon3d *        RwSetPolygonTextureModes ARGS((RwPolygon3d *p,
  597.                                    RwTextureModes modes));
  598. extern RwPolygon3d *        RwSetPolygonUV ARGS((RwPolygon3d *p, RwUV *uvs));
  599. extern RwRaster *           RwSetRasterData ARGS((RwRaster *ras, void *data));
  600. extern RwScene *            RwSetSceneData ARGS((RwScene *scene, void *data));
  601. extern RwBool               RwSetShapePath ARGS((char *path,
  602.                                    RwCombineOperation op));
  603. extern RwSpline *           RwSetSplineData ARGS((RwSpline *spline,
  604.                                    void *user));
  605. extern RwSpline *           RwSetSplinePoint ARGS((RwSpline *sp,
  606.                                    RwInt32 index, RwV3d *point));
  607. extern RwBool               RwSetSurface ARGS((RwReal ka,
  608.                                    RwReal kd, RwReal ks));
  609. extern RwBool               RwSetSurfaceAmbient ARGS((RwReal ka));
  610. extern RwBool               RwSetSurfaceColor ARGS((RwReal r,
  611.                                    RwReal g, RwReal b));
  612. extern RwBool               RwSetSurfaceDiffuse ARGS((RwReal kd));
  613. extern RwBool               RwSetSurfaceGeometrySampling ARGS((RwGeometrySampling sampling));
  614. extern RwBool               RwSetSurfaceLightSampling ARGS((RwLightSampling sampling));
  615. extern RwBool               RwSetSurfaceOpacity ARGS((RwReal opacity));
  616. extern RwBool               RwSetSurfaceSpecular ARGS((RwReal ks));
  617. extern RwBool               RwSetSurfaceTexture ARGS((char *name));
  618. extern RwBool               RwSetSurfaceTextureExt ARGS((char *texturename,
  619.                                    char *maskname));
  620. extern RwBool               RwSetSurfaceTextureModes ARGS((RwTextureModes modes));
  621. extern RwBool               RwSetTag ARGS((RwInt32 tag));
  622. extern RwTexture *          RwSetTextureData ARGS((RwTexture *texture,
  623.                                    void *data));
  624. extern RwBool               RwSetTextureDictSearchMode ARGS((RwSearchMode mode));
  625. extern RwBool               RwSetTextureDithering ARGS((RwTextureDitherMode mode));
  626. extern RwTexture *          RwSetTextureFrame ARGS((RwTexture *t, RwInt32 index));
  627. extern RwTexture *          RwSetTextureFrameStep ARGS((RwTexture *t,
  628.                                    RwInt32 val));
  629. extern RwBool               RwSetTextureGammaCorrection ARGS((RwState state));
  630. extern RwTexture *          RwSetTextureRaster ARGS((RwTexture *texture,
  631.                                    RwRaster *ras));
  632. extern RwUserDraw *         RwSetUserDrawAlignment ARGS((RwUserDraw * userdraw,
  633.                                    RwUserDrawAlignmentTypes align));
  634. extern RwUserDraw *         RwSetUserDrawCallback ARGS((RwUserDraw * userdraw,
  635.                                    RwUserDrawCallBack * callback));
  636. extern RwUserDraw *         RwSetUserDrawData ARGS((RwUserDraw * userdraw,
  637.                                    void *data));
  638. extern RwUserDraw *         RwSetUserDrawOffset ARGS((RwUserDraw * userdraw,
  639.                                    RwInt32 x, RwInt32 y));
  640. extern RwUserDraw *         RwSetUserDrawParentAlignment ARGS((RwUserDraw * userdraw,
  641.                                    RwUserDrawAlignmentTypes align));
  642. extern RwUserDraw *         RwSetUserDrawSize ARGS((RwUserDraw * userdraw,
  643.                                    RwInt32 width, RwInt32 height));
  644. extern RwUserDraw *         RwSetUserDrawType ARGS((RwUserDraw * userdraw,
  645.                                    RwUserDrawType type));
  646. extern RwUserDraw *         RwSetUserDrawVertexIndex ARGS((RwUserDraw * userdraw,
  647.                                    RwInt32 index));
  648. extern RwCamera *           RwShowCameraImage ARGS((RwCamera *cam,
  649.                                    void *param));
  650. extern RwBool               RwSphere ARGS((RwReal radius,
  651.                                    RwInt32 sides));
  652. extern RwClump *            RwSphericalTexturizeClump ARGS((RwClump *clump));
  653. extern RwV3d *              RwSplinePoint ARGS((RwSpline *spline,
  654.                                    RwSplinePath path, RwReal where,
  655.                                    RwV3d *pt, RwV3d *vec));
  656. extern RwReal               RwSplineTransform ARGS((RwSpline *sp,
  657.                                    RwSplinePath path, RwReal where,
  658.                                    RwV3d *up, RwMatrix4d *mat));
  659. extern void                 RwSRandom ARGS((RwUInt32 x));
  660. extern RwV3d *              RwSubtractVector ARGS((RwV3d *a,
  661.                                    RwV3d *b, RwV3d *c));
  662. extern RwBool               RwTextureDictBegin ARGS((void));
  663. extern RwBool               RwTextureDictEnd ARGS((void));
  664. extern RwTexture *          RwTextureNextFrame ARGS((RwTexture *t));
  665. extern RwCamera *           RwTiltCamera ARGS((RwCamera *cam,
  666.                                    RwReal theta));
  667. extern RwBool               RwTransformBegin ARGS((void));
  668. extern RwBool               RwTransformCTM ARGS((RwMatrix4d *mat));
  669. extern RwMatrix4d *         RwGetLightLTM ARGS((RwLight * light,
  670.                         RwMatrix4d * m));
  671. extern RwLight *            RwTransformLight ARGS((RwLight * light, 
  672.                            RwMatrix4d * m, 
  673.                            RwCombineOperation op));
  674. extern RwMatrix4d *         RwGetCameraLTM ARGS((RwCamera * camera,
  675.                          RwMatrix4d * m));
  676. extern RwCamera *           RwTransformCameraOrientation ARGS((RwCamera * c, 
  677.                                   RwMatrix4d * m));
  678. extern RwCamera *           RwTransformCamera ARGS((RwCamera * camera, 
  679.                             RwMatrix4d * m, 
  680.                             RwCombineOperation op));
  681. extern RwClump *            RwTransformClump ARGS((RwClump *clump,
  682.                                    RwMatrix4d *mat, RwCombineOperation op));
  683. extern RwClump *            RwTransformClumpJoint ARGS((RwClump *clump,
  684.                                    RwMatrix4d *mat, RwCombineOperation op));
  685. extern RwBool               RwTransformEnd ARGS((void));
  686. extern RwBool               RwTransformJointTM ARGS((RwMatrix4d *mat));
  687. extern RwMatrix4d *         RwTransformMatrix ARGS((RwMatrix4d *m,
  688.                                    RwMatrix4d *mat,
  689.                                    RwCombineOperation op));
  690. extern RwV3d *              RwTransformPoint ARGS((RwV3d *a,
  691.                                    RwMatrix4d *mat));
  692. extern RwV3d *              RwTransformVector ARGS((RwV3d *a,
  693.                                    RwMatrix4d *mat));
  694. extern RwBool               RwTranslateCTM ARGS((RwReal tx,
  695.                                    RwReal ty, RwReal tz));
  696. extern RwMatrix4d *         RwTranslateMatrix ARGS((RwMatrix4d *mat,
  697.                                    RwReal tx, RwReal ty, RwReal tz,
  698.                                    RwCombineOperation op));
  699. extern RwBool               RwTriangle ARGS((RwInt32 v1, RwInt32 v2, RwInt32 v3));
  700. extern RwBool               RwTriangleExt ARGS((RwInt32 v1, RwInt32 v2, RwInt32 v3,
  701.                                    RwInt32 tag));
  702. extern RwCamera *           RwUndamageCameraViewport ARGS((RwCamera *cam,
  703.                                    RwInt32 x, RwInt32 y, RwInt32 w, RwInt32 h));
  704. extern RwCamera *           RwVCMoveCamera ARGS((RwCamera *cam,
  705.                                    RwReal x, RwReal y, RwReal z));
  706. extern RwInt32              RwVertex ARGS((RwReal x, RwReal y, RwReal z));
  707. extern RwInt32              RwVertexExt ARGS((RwReal x, RwReal y, RwReal z,
  708.                                    RwUV *uv, RwV3d *normal));
  709. extern RwCamera *           RwWCMoveCamera ARGS((RwCamera *cam,
  710.                                    RwReal x, RwReal y, RwReal z));
  711. extern RwBool               RwWriteShape ARGS((char *filename,
  712.                                    RwClump *clump));
  713.  
  714. #ifdef    __cplusplus
  715. }
  716. #endif /* __cplusplus */
  717.  
  718. #endif /* _RWLIBH */
  719.