home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / dev / e / amigae / src / tools / filledvector / filledvdefs.e next >
Text File  |  1994-07-06  |  2KB  |  81 lines

  1. /*
  2.     FilledVDefs.e
  3.  
  4.     Module for FilledVector.m definitions
  5.  
  6.     1994 Michael Zucchi
  7. */
  8.  
  9. OPT MODULE
  10.  
  11. /*
  12.  * Polygon Context Flags
  13.  */
  14.  
  15. EXPORT CONST PCF_ZCLIP = 1    -> perform z clipping?
  16.  
  17.  
  18. /*
  19.  * A position object which is used by several function to define
  20.  * a locality and an orientation in one.
  21.  * (i.e. a position and angle)
  22.  */
  23.  
  24. EXPORT OBJECT position
  25.   ax:INT    -> x,y,z angles
  26.   ay:INT
  27.   az:INT
  28.   px:INT    -> x,y,z position
  29.   py:INT
  30.   pz:INT
  31. ENDOBJECT
  32.  
  33. /*
  34.  * Each VObject allocated will return one of these.  They can be linked
  35.  * into lists using the VList functions.
  36.  * The position/orientation of the object can also be conveniently
  37.  * stoed and accessed from here.  Note however that there is considerably
  38.  * more PRIVATE data following ...
  39.  */
  40.  
  41. EXPORT OBJECT vobject
  42.   next:LONG    -> next field for a linked list
  43.   prev:LONG    -> prev field
  44.   ax:INT    -> angles of object (depends on rendering function used)
  45.   ay:INT
  46.   az:INT
  47.   px:INT    -> position of object
  48.   py:INT
  49.   pz:INT
  50. ENDOBJECT    -> more data, PRIVATE
  51.  
  52. /*
  53.  * Each face of an object uses one of these.  These are used also
  54.  * to define a new object.
  55.  */ 
  56.  
  57. EXPORT OBJECT face
  58.   cross0:INT    -> the 3 points used for the cross-product visibility test
  59.   cross1:INT
  60.   cross2:INT
  61.   colour:INT    -> the colour of the object, the bottom 8 bits represent the
  62.           -> base colour.  In the future, the top 8 bits MAY be used
  63.           -> to represent an alternate colour for stipling.
  64.   facelist:PTR TO INT    -> pointer to the polygon definition, which
  65.         -> includes first:
  66.         ->     a INT which says how many lines are in this polygon
  67.         ->    pairs of INT's which point to the vertices used by
  68.         ->    each of the lines of the polygon
  69.   pad00:LONG    -> future expansion maybe (makes the OBJECT 16 bytes long)
  70. ENDOBJECT
  71.  
  72. /*
  73.  * A matix object, as used by the various matrix manipulation
  74.  * functions.  Currently uses 3x3 matrices, but perhaps
  75.  * some 4x4 matrix routines will be written someday (?)
  76.  */
  77.  
  78. EXPORT OBJECT matrix
  79.   matdata[10]:ARRAY OF INT
  80. ENDOBJECT
  81.