home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
tt
/
raysh402
/
guide.tex
/
node25_mn.html
< prev
next >
Wrap
Text File
|
1992-02-09
|
2KB
|
65 lines
<H2><A ID="SECTION00741000000000000000">
CSG in <EM>Rayshade</EM></A>
</H2>
<P>
CSG in <#500#><#1959#><EM>rayshade</EM><#1959#><#500#> will generally operate properly when applied to
conjunction with
on boxes, spheres,
tori, and blobs.
These primitives are by nature consistent, as they all
enclose a portion of space (no hole from the ``inside'' to the
``outside''), have surface normals which point outward (they
are not ``inside-out''), and do not have any extraneous surfaces.
<P>
CSG objects may also be constructed from aggregate objects.
These aggregates contain
whatever is listed inside, and may therefore be inconsistent.
For example, an object which contains a single triangle will not
produce correct results in CSG models, because the triangle does not enclose
space. However, a collection of four triangles which form a pyramid
does enclose space, and if the triangle normals
are oriented correctly,
the CSG operators should work correctly on the pyramid.
<P>
CSG objects are specified by surrounding the objects upon
which to operate, as well as any associated surface-binding commands,
by the operator verb on one side and the <#501#><TT>end</TT><#501#>
keyword on the other:
<P>
<DL>
<DT><STRONG><#4878#><#4878#></STRONG></DT>
<DD><#1371#><TT>union</TT><#1371#> ;SPMlt;<#1372#><EM>Object</EM><#1372#>;SPMgt; ;SPMlt;<#1373#><EM>Object</EM><#1373#>;SPMgt;
[;SPMlt;<#1374#><EM>Object</EM><#1374#>;SPMgt; ...] <#1375#><TT>end</TT><#1375#>
<BR> Specify a new object defined as the union of the
given objects.
</DD>
</DL>
<P>
<DL>
<DT><STRONG><#4885#><#4885#></STRONG></DT>
<DD><#1378#><TT>difference</TT><#1378#> ;SPMlt;<#1379#><EM>Object</EM><#1379#>;SPMgt; ;SPMlt;<#1380#><EM>Object</EM><#1380#>;SPMgt;
[;SPMlt;<#1381#><EM>Object</EM><#1381#>;SPMgt; ...] <#1382#><TT>end</TT><#1382#>
<BR> Specify a new object defined as the difference of the
given objects.
</DD>
</DL>
<P>
<DL>
<DT><STRONG><#4892#><#4892#></STRONG></DT>
<DD><#1385#><TT>intersect</TT><#1385#> ;SPMlt;<#1386#><EM>Object</EM><#1386#>;SPMgt; ;SPMlt;<#1387#><EM>Object</EM><#1387#>;SPMgt;
[;SPMlt;<#1388#><EM>Object</EM><#1388#>;SPMgt; ...] <#1389#><TT>end</TT><#1389#>
<BR> Specify a new object defined as the intersection of the
given objects.
</DD>
</DL>
<P>
Note that the current implementation does not support more that two
objects in a CSG list (but it is planned for a future version).
<P>