Hi Dirk,
Thanks for the quick and detailed reply.
> Cool! I'm looking forward to seeing that run! Using the SortLastWindow
> and the SepiaComposer or just standard clustering?
I am using SortLastWindow and SepiaComposer. Once I can get it working
satisfactorily maybe I can post some screenshots. I already have a
very large polygon model loaded, but I am trying to understand more
and try out some new things.
> > 1. I have a question, if I have a few models and I need to send them
> > to particular nodes on the cluster, how would I do it ?
> The OpenSG distribution model is somewhat oriented towards broadcast, to
> keep things simple right now. Thus there is no easy direct way to
> control that. The low-level distribution mechanisms are flexible enough
> for pretty much anything, but there hasn't been enough demand to do
> anything fancy yet.
>
> But you can do it based on the SortLastWindow . The idea here is that
> the SortLastWindow overrides the traversal masks of the Nodes to only
> render some Nodes on certain servers. For details I have to redirect you
> to Marcus, though. Marcus, how hard would it be to add more general
> control over this to the application?
>
> The interesting question however is, what do you want to use it for? The
> OpenSG idea was that the dynamic load balancing should be done by the
> scene graph and not in the application.
The idea seems nice, but currently if there is a model with a large
number of polygons, that model is not split. But only multiple models
are rendered on different servers. I want to know if there is any I
can implement this (cutting a model and distributing the task of
rendering it on different nodes). Any links to algorithms would be
nice too.
I see that splitDrawables in OSGSortLastWindow.cpp takes a 'bool cut'
as argument, but currently it is not being used and is always false.
Does this indicate the ability to implement breaking large polygon
models into pieces ?
The other reason I can think of is that say we have 2 quads and they
need to be overlayed with a fairly large texture, in this case the
user may want split according to which polygon takes which texture and
divide the data among nodes by texture.
But I am still trying to learn OpenSG and till now I haven't been able
to send any useful data to any node. I read in another post on the
mailing-list that one could use proxy groups to load data from local
disks, I tried implementing this, but I am unable to get very far.
Here is primarily what I did, I added 2 nodes to the scene,
node0 = OSG::Node::create();
node1 = OSG::Node::create();
ProxyGroupPtr p0 = OSG::ProxyGroup::create();
ProxyGroupPtr p1 = OSG::ProxyGroup::create();
p0->setUrl("cube.osb");
p1->setUrl("sphere.osb");
then I set the core of these nodes to ProxyGroup.
node0->setCore(p0);
node0->setCore(p1);
But I am not really sure what to do on the server side ? The server
just gives some error messages saying node is null and matrix near ~=
far ~= 0 or some such message.
I tried getting the nodes on the display side using ract, something like
for (int i = 0; i < ract->getNNodes; i++) {
NodePtr node = ract->getNode(i);
std::string file(node->getCore().getUrl()); // This maybe wrong I
am typing from memory
node = SceneFileHandler::the().read(file.c_str(),0);
...
then I try to load the file, but where am I supposed to do this, in
the main of testClusterServer.cpp after server->start() ?
I am lost, as I was unable to find any examples of ProxyGroup, what is
it used for ?
The thing is I do not want to send the file to a different node, I
want to send only the filename and then load the relevant file locally
(from the disk).
Currently this is how I run my client
[EMAIL PROTECTED] $ ./testClusterClient -LS -fcube.osb -fsphere.osb S0 S1
where S0 and S1 are server names.
> > 2. Is there anyway I can split a volume data object into many parts ?
> > I have some volume datasets I want to render using a cluster, if there
> > are any applications that can do this manually, I would like to know.
> > If not I would like to know if I can do this in the code using volren.
>
> The VolRen code can internally split the volume into multiple parts
> (Bricks) automatically. However, this is currently totally separate from
> the clustering, and generally all bricks are rendered for every frame.
> Unless Manfred has extended it and I don't know about it. ;)
>
> I was planning to look into doing volume splitting for clusters this
> semester anyway. What's your time frame for this?
I have to talk to my technical director or project manager on the time
frame thing, I would be interested to work with you on this.
> How big are your datasets though? Conceptually this assumes that the
> dataset fits into the client's main memory, which might be a problem for
> large datasets. We don't have out-of-core tools for volume splitting or
> anything like that yet.
Currently I have a 512x512 MB dataset that I got from the internet.
I am also trying to get larger data samples, but I have to see about that.
> > PS: How come nobody hangs out on IRC ? I idled for a day or two before
> > I called it quits.
>
> Chicken and Egg. I used to hang there, but nobody showed up, so after a
> while I stopped. I could come back, but for the internal cluster issues
> I can't help much, that's Marcus' domain.
Yes I know, I was wondering if it would be possible to shift the
channel to irc.freenode.net ? Normally I idle/chat on some graphics
software channels on there, and I wouldn't mind adding opensg to the
list. Also maybe there might be other people on there who might be
interested, how does that sound ? :-)
> Hope it helps
>
> Dirk
Thanks,
Manju
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users