>
> Hello to all the smart people out there!
>
> I'm planning a multi-user, client/server 3D application and would
> like to clear up a conceptual problem right at the start:
>
> I'll have a fairly large 'world', common to all users, modelled as a
> scene on a server. Then there will be some dozens of users interacting
> in this world from client programs connected to the server via the Internet.
>
> An obvious solution to allow every user to view the common
> 'world' would be to distribute the SceneGraph, i.e. the complete
> world model, to each client and keep it updated everywhere.
>
> But it would seem to me to be more practical to have just one copy
> of the SceneGraph on the server, to give each remote user his own
> ViewPort and to connect the ViewPorts to the SceneGraph
> via RMI (or something). That way, hopefully rather than sending
> all updates of the entire world to each client, I would only be
> sending those changes visible from each respective ViewPort.

    Of course, you would be in for a world of pain if someone changes
the viewpoint rather than the world...

    Personally, I'd have an UI-independent world-state on the server,
replicate the state to the clients and let the clients extract the 3D
info from the world. Thus, no Java3D at all on the server, only at
the clients.

    If your clients are connecting across a WAN, or if you have lots of
eye-candy/special effects, then this is the accepted way of doing
things (ie, that's what all the more successful games end up doing).

    /Mats

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to