Return-Path: <kyriazis@rdrc.rpi.edu>
Received: from aerospace.aero.org by antares.aero.org (4.1/AMS-1.0)
	id AA06875 for  /u/strauss/bin/mail_handler.pl strauss; Thu, 18 Mar 93 11:49:17 PST
Received: from rpi.edu by aerospace.aero.org with SMTP (5.65c/6.0.GT)
	id AA06383 for strauss@antares.aero.org; Thu, 18 Mar 1993 11:49:11 -0800
Posted-Date: Thu, 18 Mar 93 14:49:03 EST
Received: from mistral.rdrc.rpi.edu by rpi.edu (4.1/SMHUB41);
	id AA16918; Thu, 18 Mar 93 14:49:09 EST for rman@aero.org
From: kyriazis@rdrc.rpi.edu
Received: by mistral.rdrc.rpi.edu (4.1/1.2-RPI-RDRC)
	id AA13534; Thu, 18 Mar 93 14:49:06 EST
Message-Id: <9303181949.AA13534@mistral.rdrc.rpi.edu>
Subject: Objects? (was: The RiLine Issue)
To: rman@aero.org
Date: Thu, 18 Mar 93 14:49:03 EST
In-Reply-To: <199303181917.AA05759@aerospace.aero.org>; from "Stephan Keith FFD" at Mar 18, 93 9:54 am
X-Mailer: ELM [version 2.3 PL11]


> I do scientific visualization, of aerodynamic data presently.  Much of the
> analysis involves the depiction of air currents and phenomena as streamlines.
> I had thought of using the cylinder method myself, but came up with the
> same problems of "chunkiness" (is this a severe case of aliasing, or 
> what? :-) ).
> 
> I thought what would be useful would be a primitive which allows for a
> flexible cylinder, which would be splined (probably bezier derived), with
> a variable which defines the diameter of the flexible cylinder.
> 
This is an interesting issue...  You, as a sci-vi guy, need something that
I heard somewhere been called as a "generalized cylinder". Other people
may need other weird primitives (cyclides or "arrow vector fields" for example).
I am sure, everybody will come up with his own "favorite" primitive that
he wants to add to whatever system he is using.  

That is the case why object-oriented graphics systems are useful.  You
can build your own primitive and then use it just like any other build-in
type.

> In any case, there is a DEFINITE need for some form of flexible cylinder
> or tube.  
> 
Now, my question is: Can you build a flexible cylinder using the build-in
primitives?  I would guess that the answer is yes.  In that case, why
overload the RenderMan interface with some functionality that is probably
not going to be useful to every user?  Since the RenderMan language is 
more-or-less an interface to a renderer, do you also have a definite case
why including a flexible cylinder as a base primitive will increase its
performance and usefulness?

I am not trying to fight here your need for such a primitive.  I am just
trying to bring up an issue in this mail list, that has shown up in lots
of other places: Is an object-oriented graphical or visualization
interface better than a procedural one, and why?

If it turns out (which I believe is the case) that "OO is better", then
would it make sense to have RenderMan written in a more object-oriented
way?

Note 1: I am obviously biased, since I am involved in object-oriented
	graphics systems.

Note 2: I am using neither RenderMan nor a NeXT; I am merely interested
	in some of the issues in this list.  I don't really know what are
	NeXT's plans about RenderMan, or whether NeXT (in its infinite
	objectiveness) actually have any OO layer on top of rman.

  --george
-- 
----------------------------------------------------------------------------
George Kyriazis       | Visual Technologies Program, Rensselaer Design
kyriazis@rdrc.rpi.edu |  Research Center, CII 7015, RPI, Troy, NY 12180
----------------------------------------------------------------------------

