prim3d.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*=============================================================================
  2. Name : prim3d.h
  3. Purpose : Definitions for drawing 3D primitives
  4. Created 7/1/1997 by lmoloney
  5. Copyright Relic Entertainment, Inc. All rights reserved.
  6. =============================================================================*/
  7. #ifndef ___PRIM3D_H
  8. #define ___PRIM3D_H
  9. #include "types.h"
  10. #include "vector.h"
  11. #include "color.h"
  12. #include "texreg.h"
  13. #define X_AXIS 0
  14. #define Y_AXIS 1
  15. #define Z_AXIS 2
  16. /*=============================================================================
  17. Functions:
  18. =============================================================================*/
  19. //draw 3D points with size
  20. void primPoint3(vector *p1, color c);
  21. void primPointSize3(vector *p1, real32 size, color c);
  22. void primPointSize3Fade(vector *p1, real32 size, color c, real32 fade);
  23. //efficient multiple 3D points with size & fade
  24. void primBeginPointSize3Fade(real32 size);
  25. void primNextPointSize3Fade(vector* p1, color c, real32 fade);
  26. void primEndPointSize3Fade(void);
  27. //draw 3D lines
  28. void primLine3(vector *p1, vector *p2, color c);
  29. void primLineThick3(vector *p1, vector *p2, real32 thickness, color c);
  30. //draw 3D 'pizza dish' circle using poly fans
  31. void primCircleSolid3(vector *centre, real32 radius, sdword nSpokes, color c);
  32. void primCircleSolid3Fade(vector *centre, real32 radius, sdword nSpokes, color c, real32 fade);
  33. void primCircleOutline3(vector *centre, real32 radius, sdword nSlices, sdword nSpokes, color c, uword axis);
  34. void primCircleOutlineZ(vector *centre, real32 radius, sdword nSegments, color c);
  35. void primEllipseOutlineZ(vector *centre, real32 rx, real32 ry, sdword nSegments, color c);
  36. void primSolidTexture3(vector *p1, real32 size, color c, trhandle tex);
  37. void primSolidTexture3Fade(vector *p1, real32 size, color c, trhandle tex, real32 fade);
  38. void prim3dStartup(void);
  39. void prim3dShutdown(void);
  40. #endif //___PRIM3D_H