Re: Software Architecture/Design

"Morten Brodersen" <[email protected]>
Newsgroups gmane.games.devel.sweng
Message-ID <75D8A4885965449AA9EF77627D9528B3@QUAD>
I don't really know VTK well enough to give an answer to that :)

However, from your description and after having taken a quick look at
the website I would say definitely not. Sending objects via channels and
having a runtime organizing the flow would be sloooooooooooooooow. Not
something I would recommend :)

The SO/PO approach is super simple. It is just methods/functions calling
methods/functions feeding output from one call to the input of another.
Something the compiler can totally optimize.

Morten

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Erik
Engheim
Sent: Friday, 4 June 2010 7:14 PM
To: [email protected]
Subject: Re: [Sweng-Gamedev] Software Architecture/Design


> 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

_______________________________________________
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.