Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 4 of 4

Thread: scene graph

  1. #1
    Guest

    scene graph

    Hi,
    I am using flightgear-0.9.4. I am having 3 views, center view(pilot view), rigth view ,left view.At present i am getting frame rate less than 20 fps, due to this there is no smooth movement on flight.To increase the frame rate i thougth of splitting the process
    - preparing the scene graph
    - culling and rendering .

    because preparing the scenegraph is common for all three.so scene graph preparation is done in only one system(a seperate pc) and it can send the scene graph structure(thru ethernet) to remaining 3 systems where rendering will be done in individual systems.

    please give ur views ,i want to know whether this one can be implemented.
    regards ,
    hema

  2. #2
    Junior Member Regular Contributor
    Join Date
    Jul 2005
    Location
    Berlin, Germany
    Posts
    188

    Re: scene graph

    You have to keep in mind that your ethernet connection is painfully slow (both in data throughput and roundtrip time), compared to cpu processing speed. So unless the scene graph preparation results in far less data to be transmitted, or is so computationally intensive that your other hosts just can't do it, you're probably better off sending the original data and process it on every host.

    I'm not sure what exactly you mean with "preparing the scenegraph" and "send the scenegraph structure", so this might actually be what you're thinking about. You should only transfer the most relevant pieces of data (position/rotation, angular/linear velocity, angular/linear acceleration of moving objects), and compute everything else (if possible) on the display hosts. You might even get away with sending the synchronization data only every few frames.
    355/113 -- Not the famous irrational number PI, but an incredible simulation!

  3. #3
    Junior Member Newbie
    Join Date
    Oct 2005
    Location
    Bangalore
    Posts
    5

    Re: scene graph

    Hi,
    Thanks for U reply.
    I have come to know that it is not possible to send entire data of the scene graph.
    we have thought of one more thing........
    Can we send the frustums data (Data for current frame)to other pc's. But the problem is how to identify that the current data for the particular view (center view ,left,or right).

    Plz suggest me some ideas regarding this or how to increase the frame rate.

    waiting for reply.
    regards,
    Hemalatha

  4. #4
    Advanced Member Frequent Contributor
    Join Date
    Apr 2000
    Location
    Adelaide, South Australia, Australia
    Posts
    839

    Re: scene graph

    Hi,

    you'll still have significant problems with latency, even (!?) if you clip the scenegraph on the server and send a subset. While the server is traversing the scenegraph and packing it into a useful structure to send to its clients, your clients and doing.. what? waiting? by the time they start getting the data so they can begin rendering it, what stage is the server up to?

    How about this for an idea:

    you divide your world into a hierarchy of subdivided blocks (ie. levels of detail) and you prioritise data to send to the client based on the level of detail the client already has, where the client is and where its heading to.

    In the first instance, for example, you'd send each client the first level of the block they're in. That way they can render _something_, albeit at coarse level of detail.

    While the clients are busy rendering the world with the information they have, you could priority queue levels of detail to send to them. You'd have to play around with weights, but things to consider;

    - sending them more levels of detail for the block they're in if they're not near neighbouring blocks
    - favouring sending neighbouring blocks if the clien doesn't have ANY LOD for them
    - and especially favouring neighbours if you're flying towards them :-)

    that way you don't send the entire scene graph all at once, the clients and render something while data is coming in, and you can organise data so clients get what they need, when they need it.

    that's what I think

    cheers
    John

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •