home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / tt / raysh402 / guide.tex / node23_mn.html < prev    next >
Text File  |  1992-02-09  |  3KB  |  67 lines

  1.  
  2. <H1><A ID="SECTION00730000000000000000">
  3. Aggregate Objects</A>
  4. </H1>
  5.  
  6. <P>
  7. An aggregate is a collection of primitives, aggregate, and CSG
  8. objects.  An aggregate, once defined, may be instantiated at will,
  9. which means that
  10. copies that are optionally transformed and textured may be made.
  11. If a scene calls for the presence of many geometrically identical
  12. objects, only one such object need be defined; the one defined object
  13. may then be instantiated many times.
  14.  
  15. <P>
  16. An aggregate is one of several possible types.  These aggregate types
  17. are differentiated by the type of ray/aggregate intersection algorithm
  18. (often termed an <#477#><EM>acceleration technique</EM><#477#> or <#478#><EM>efficiency scheme</EM><#478#>)
  19. that is used.
  20.  
  21. <P>
  22. Aggregates are defined by giving a keyword that defines the
  23. type of the aggregate, followed by
  24. a series of object instantiations and
  25. surface definitions, and terminated using the <#479#><TT>end</TT><#479#> keyword.
  26. If a defined object contains no instantiations, a warning message
  27. is printed.
  28.  
  29. <P>
  30. The most basic type of aggregate, the <#480#><EM>list</EM><#480#>, performs
  31. intersection testing in the simplest possible way:  Each object in the
  32. list is tested for intersection with the ray in turn, and the closest
  33. intersection is returned.
  34.  
  35. <P>
  36. <DL>
  37. <DT><STRONG><#4874#><#4874#></STRONG></DT>
  38. <DD><#1362#><TT>list</TT><#1362#> ...<#1363#><TT>end</TT><#1363#> 
  39. <BR>    Create a List object containing those objects instantiated between
  40.     the <#484#><TT>list</TT><#484#>/<#485#><TT>end</TT><#485#> pair.
  41. </DD>
  42. </DL>
  43. <P>
  44. The <#487#><EM>grid</EM><#487#> aggregate
  45. divides the region of space it occupies into a number of discrete
  46. box-shaped
  47. voxels.  Each of these voxels contains a list of the objects that
  48. intersect the voxel.  This discretization makes it possible to
  49. restrict the objects
  50. tested for intersection to those that are likely to hit the ray,
  51. and to test
  52. the objects in nearly ``closest-first'' order.
  53.  
  54. <P>
  55. <DL>
  56. <DT><STRONG><#4875#><#4875#></STRONG></DT>
  57. <DD><#1366#><TT>grid</TT><#1366#> <#1367#><EM>xvox yvox zvox</EM><#1367#> ...<#1368#><TT>end</TT><#1368#> 
  58. <BR>    Create a Grid objects composed of <#492#><EM>xvox</EM><#492#> by <#493#><EM>yvox</EM><#493#> by
  59.     <#494#><EM>zvox</EM><#494#> voxels containing those objects
  60.     instantiated between the <#495#><TT>grid</TT><#495#>/<#496#><TT>end</TT><#496#> pair.
  61. </DD>
  62. </DL>It is usually only worthwhile to ``engrid'' rather large,
  63. complex collections of objects.  Grids also use a great deal more
  64. memory than List objects.
  65.  
  66. <P>
  67.