Newsgroups: comp.graphics
Path: utzoo!utgpu!watserv1!maytag!mks.com!david
From: david@mks.com (David Rowley)
Subject: Scene Description Standard
Organization: Mortice Kern Systems Inc., Waterloo, Ontario, CANADA
Date: Tue, 30 Apr 91 00:36:12 GMT
Message-ID: <1991Apr30.003612.16050@mks.com>

One of the harder problems in producing snazzy computer graphics seems
to be the modelling, rather than the rendering.  One reason for this is
the lack of a standard modelling format.

Would it make sense to define a new, say text-based, format to describe
a world, such that a renderer could use as much information from it
as possible, and chuck the rest ?

There could be the standard sort of NFF, Rayshade type primitives
(sphere, ellipsoid, cone, polygon, box, etc) with a set of filters
that would convert higher-level primitives to lower-level ones for
those renderers that need that lower level.  For example a sphere
could be tessellated into triangles, or polygons, for those renderers
without a general 'sphere' primitive.  Spline objects could be
translated into polygons.  The filters would be written in portable 'C'
so that the transformations were available on all platforms.

In fact a filter could be created to convert *everything* down to
polygons, then a display program could simply display a wire-frame
rendering as a fast model preview.

Filters could also be written to translate this standard format into
a format accepted by a particular renderer.

Another filter could take a set of polygons and produce a hidden-line
rendering.

By developing general-purpose primitive-conversion filters, all renderers
would be able to work with all scene descriptions, at least to some extent.

Perhaps a CSG filter could convert a CSG description to polygons for those
renderers without that capability.  Some of these filters may be quite
complex.

Special-purpose filters could be created to generate 3D text, surfaces
of rotation, or extrusion.

Surface descriptions are harder than modelling the geometry of a scene.
There should be enough described in the standard to handle the most
common parameters, such as ambient, diffuse, specular, etc, but
there should be a general way of handling procedural surfaces such as
wood, marble, etc.

Interactive X-Windows, Microsoft Windows, or whatever applications could
be created that would read and write this format, to allow manipulation
of the world.  Those without a modeller could craft scene descriptions
by hand.

Does it make sense ?  Anyone interested ?

-- 
     ll  // // ,~/~~\'   David Rowley
    /ll/// //l' `\\\     Mortice Kern Systems Inc.
   / l //_// ll\___/     35 King Street North, Waterloo, ON, Canada N2J 2W9
O_/                      519/884-2251, FAX 519/884-8861, david@mks.com
