Re: Software Architecture/Design

Erik Engheim <[email protected]>
Newsgroups gmane.games.devel.sweng
Message-ID <[email protected]>
> Think about your application as consisting of 2 types of objects: State
> Objects and Process Objects.
>
> A State Object (SO) handles a state (surprise). It can be anything from
> a texture to a database to a display to a list of integers. In an OO
> language, SO's will typically be implemened as classes/objects with the
> usual set/get/add/remove methods. In a functional language, SO's are
> typically implemented as (immutable) values.

So if I understand this correctly it is a lot like the Visualization
Toolkit (vtk) is organized?
In VTK (http://www.vtk.org/doc/release/5.4/html/a00374.html) you have
subclasses of vtkDataSet which contains
geometry, topology and attributes. Subclasses can be things like point
set, grid, lines etc. Then they have subclasses of vtkAlgorithm
(http://www.vtk.org/doc/release/5.4/html/a00101.html) which has a
number of inputs and outputs. You connect together algorithms through
the input and output channels. On the channels vtkDataSet objects are
consumed or produced. Sounds to me like vtkDataSet is like an SO
object and vtkAlgorithm is like an PO object in your jargon?

Basically you get system of pipelines where you could do flow analysis
and figure out which PO objects can be
excuted in parallell etc. They have a vtkExecutive object which takes
care of running the algorithms in the right sequence and or
parallallizing them.

I always thought this system looked really neat, but I have heard
people doing performance test of vtk vs Open Inventor and they said
Vtk was too slow. So I am not sure if the approach is inherently slow
or whether vtk just doesn't have a good implementation of this
approach.

I assume that if you use this in a game engine, you are able to get
good performance out of this approach?
_______________________________________________
Sweng-Gamedev mailing list
[email protected]
http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.