John W. Barrus (barrus++at++merl.com)
Thu, 28 Oct 1993 08:51:11 -0500
I haven't used performer, but based on the description of performer and the
description of your project, it seems like the fit is loose. I think that
performer is better at out the window simulations with large datasets and
provides less of an advantage for smaller room-size simulations. It is not
a solid modeler.
For my PhD thesis, I created a Virtual Workshop which had a table saw, band
saw, radial arm saw, drill press, and milling machine. Designers could
choose different types of stock (mostly wood) and machine it into parts
that could then be assembled into projects. On the third iteration of this
project, I finally got smart and got a real solid modeling kernel that I
used for boolean operations (subtracting swept tools from parts.) I think
that having a good solid modeler made all of the difference when it came
time to develop. I simply used GL on the SGI machine for rendering
(z-buffered, lighted, shaded parts - I didn't use textures, but the SGI
machines allow textures).
Performer isn't a solid modeler at all. It accepts geometry (already
defined) and determines the best way to display it. It determines what
geometry will not be visible in a scene and doesn't bother rendering it
(scene culling) and also maintains frame rates (draw less of a more complex
scene so that the frame is ready to be displayed at the right time) to
maintain interactivity. Unless you have a Reality Engine, you won't get
real time, interactive textures right now. However, from your brief
description, it doesn't sound like high-frame rate, texture-mapped images
is the most important feature of your application.
I would suggest getting a solid modeling kernel like ACIS from Spatial
Technologies in Boulder, CO. (303) 449-0649. Their university licensing
terms are fairly reasonable, and, although it is a big chunk of code (my
executable was about 10 Meg when I included the kernel), the functionality
is extensive and the code is quite robust.
Using a kernel like ACIS, I think your biggest task is learning GL (or
OpenGL), deciding on a representation for your data that will allow it to
be stored in an ACIS solid, and then coding. By the way, you will also
need C++ (and need to know how to use C++) for your application to use
ACIS. That can add a few months onto the development time for a C
programmer.
I think that 2 years (Masters student) should allow ample time for
development. A knowledgeable ACIS hacker who knows GL could easily do it
in 6 months (unless there are some subtleties to the problem that I don't
understand) and possibly in 2 to 4 months, depending on the complexity of
the data, availability of the textures, etc.
By the way, if all you want to do is slice an dataset with a plane and cap
the ends of the sliced solids, you don't absolutely need a solid modeler,
but ACIS gives you a robustness that you can't program in by yourself, and
as soon as you decide to include non-planar sections or cuts, you can't
beat having the capability already built in. Add a minimum of 6 months to
the project for designing and writing your own solid modeler with planar
boolean operations (just a guess).
>I wish to develop an application in which a log can be realistically
>visualized in 3-D and
>then sawn (sectioned) along some arbitrary plane (typically along the length).
>We have developed
>a data base which defines the periphery of the log exterior, the pith of the
>log (approximately
>the center at any x-section), knots within the log, and other assorted
>significant characteristics
>such as mineral stain. There are approximately 800,000 vertices which in a
>typical log. In order
>to have a realistic visualization, I would plan on being able to apply
>textures which correspond
>to sound wood, knots, stain, etc.
>
>My questions then are [1] can this be done (I assume so), [2] is Performer the
>best software
>approach to do this or would some commercial solid modeler work better. I
>assume Performer would
>be cheaper and it seems to me that in most cases an application package just
>never seems to be
>able to quite do what you want. Also, is this a doable project for a
>reasonably proficient
>programmer (say a 2 yr. MS student) or would I be better off hiring a
>full-time programmer to get
>it done in half the time.
>
>I would appreciate any feedback or perspective on these general questions. I
>will be writing a
>proposal shortly (due in 2 weeks) and want to be realistic in what can be done.
>
>Thanks for your time.
>
>Stephen Shaler
>Associate Professor of Wood Science
>Forest Products Laboratory
>University of Maine
>steve++at++pith.umecfr.maine.edu
>Stephen Shaler
>
>Forest Products Laboratory
>University of Maine
>steve++at++pith.umecfr.maine.edu
-------------------------
John Barrus barrus++at++merl.com
Mitsubishi Electric Research Laboratories 617.621.7535 (VOICE)
201 Broadway 617.621.7550 (FAX)
Cambridge, MA 02139
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:50:04 PDT