[comp.graphics] Ray Tracing CSG objects

ritter@versatc.UUCP (Jack Ritter) (05/29/89)

Could someone point me to a good, practical reference
which describes the ray tracing of CSG objects?
I want to use quadrics as my primitive half-spaces.

------------

-- 
	      ->  B O Y C O T T    E X X O N    <-
   Jack Ritter, S/W Eng. Versatec, 2710 Walsh Av, Santa Clara, CA 95051
   Mail Stop 1-7.  (408)982-4332, or (408)988-2800 X 5743
   UUCP:  {ames,apple,sun,pyramid}!versatc!ritter

ritter@versatc.UUCP (Jack Ritter) (06/03/89)

I have a question about ray tracing CSG objects.
Given an object represented by a CGS binary tree
(union, intersection, & difference as operators),
I would like to ray trace it WITHOUT using
spacial subdivision, voxels, etc.
I would like to do it along these lines:

Find the intersection of the ray with each
instantiated half-space surface for the obj. 
(I'm using quadric surfaces).

Sort the intersections by distance from
start of ray.

Go down list, from near to far, stopping
on the surface that would be seen from
that direction. This would be done by
somehow traversing the tree as you go.

Is this doable?

Thanks. I'll summarize.

-- 
	      ->  B O Y C O T T    E X X O N    <-
   Jack Ritter, S/W Eng. Versatec, 2710 Walsh Av, Santa Clara, CA 95051
   Mail Stop 1-7.  (408)982-4332, or (408)988-2800 X 5743
   UUCP:  {ames,apple,sun,pyramid}!versatc!ritter

markv@tillamook.uucp (Mark VandeWettering) (06/03/89)

In article <17842@versatc.UUCP> ritter@versatc.UUCP (Jack Ritter) writes:
>I have a question about ray tracing CSG objects.
>Given an object represented by a CGS binary tree
>(union, intersection, & difference as operators),
>I would like to ray trace it WITHOUT using
>spacial subdivision, voxels, etc.
>I would like to do it along these lines:

	Of course, spatial subdivision, voxels etc are unnecessary.
	You can perform straightforward intersections, sort the
	resulting hits, and then use boolean algebra to decide which of
	the hits is really the "closest" valid hit.

	References:

	%A Scott D. Roth
	%T Ray Casting for Modeling Solids
	%J Computer Graphics and Image Processing
	%V 18
	%N 2
	%D Feb. 1982
	%P 109-144
	%Z the other classic ray tracing paper
	%K CSG, hidden line

	I seriously advise using some sort of subdivision technique
	though.  It really isn't all that difficult, and the payoffs are
	enormous.

Mark VandeWettering

priol@servix.irisa.fr (Thierry Priol) (06/03/89)

This is a copy of a message i send to J. Ritter.

References:

	%A Bruno Arnaldi, Thierry Priol and Kadi Bouatouch
	%T A New Space Subdivision Method for Ray Tracing CSG Modelled Scenes.
	%J The Visual Computer
	%V 3
	%N 2
	%D August 1987
	%P 98-107
	%K CSG, subdivision
	
	This paper compares a subdivision technique (BSP) with the 
	Roth's algorithm.


Thierry PRIOL                                Phone:  99 36 20 00
IRISA                                        Fax:    99 38 38 32
Campus Universitaire de Beaulieu             Telex:  UNIRISA 950 473F
35042 RENNES CEDEX - FRANCE                  E-mail: priol@irisa.fr

cab@cbnewsh.ATT.COM (CAB) (06/03/89)

In article <17842@versatc.UUCP>, ritter@versatc.UUCP (Jack Ritter) writes:
> I have a question about ray tracing CSG objects.
> Given an object represented by a CGS binary tree
> (union, intersection, & difference as operators),
> I would like to ray trace it WITHOUT using
> spacial subdivision, voxels, etc.

The May 1989 issue of IEEE CG&A has an article about this technique,
which seems to follow your general approach.


-- 
          -CAB-        
   _____/ _ || _\___   
 lNYCl_  ______   __|) Standard disclaimer.
   ==  (0)     (0)