[Opensim-dev] thinking about a viewer

Toni Alatalo toni at playsign.net
Sun Aug 17 10:41:53 UTC 2014


I submitted a proposal to OSCC back then a while ago to give an update
about our web client (WebTundra) status. Last year told about the
plans as we'd gotten the funding decision for it (from EU's
fi-ware.org). After some talks with the organizers we changed it to a
more generic session about WebGL and related techs and I'm hoping that
it can serve as one part of this Opensim web client dev planning and
work.

Added some formatting + links to the new conf talk text that wrote
earlier this week. Tried to consolidate some of the points from the
discussions here also. Certainly nowhere near all of the great points
and infos that have been here though! But hopefully useful at least to
report our experiences etc:

Virtual Worlds on a Web Browser
https://docs.google.com/document/d/1XsPosgdsKvNbvI3HwRYt_LFHABCd-bnfwCNZGjMnQYQ/

Is a public doc, no account should be required, and commenting is
enabled for anyone. Please do point out unclarities or mistakes and
ask if there's anything - if this kind of doc is useful I can try to
make it better in the coming weeks .. or perhaps we can make a plan
doc collaboratively or something.

A couple tech arch notes related to what Mister Blue said about making
the renderer separate: in WebTundra we use the three.js lib as is so
the renderer is at least in that sense a separate module. Actually we
also apply the Model-View-Controller pattern (MVC) and have made it so
that the networking, the abstract in-memory scene model and the views
to it such as the 3d rendering are all separate. The client code can
be ran also without a graphical view and we've tested it for making
Javascript-written bots on node.js. And actually Erno even made a
quick test of a node.js based Javascript-written *server* which uses
the WebTundra network & scene modules on the server side.

UI is totally separate as it's basically up to the app to do what it
wants with the browser, using HTML and CSS etc.

Extensibility for the 3d scene and networked & persisted data is
achieved by using Tundra's Entity-Component model which is largely the
same as in Unity. WebTundra work is just a module for the server side
which does the Tundra protocol over WebSockets and then the EC sync &
the scene model integrated in the client lib.

It would be possible to use this same client by adding a module to
Opensim which does the scene sync over WebSockets using the same (or
similar) protocol. There's no c# impl of the underlying kNet lib
though so may not be the best choice for the transport level. But even
if transport is different it would be possible to use another
transport for similar protocol and get to reuse the same scene &
rendering etc. codes for both usages, and the asset bizs etc.

I'm sure there are many other ways too, for example to write a new
scene model & renderer especially for opensimulator and use an LLUDP
like protocol etc. Perhaps even by emscripten-compiling SLviewer code.
Or HiFi. And probably many other totally different approaches as well.
Am curious to learn .. and also supposed to do research about these
things. But for business we're happily using what we have now for the
foreseeable future basically.

There's a continuation project coming for fi-ware (which ends by the
end of the year) - it should start in September now and there's
18months funding to continue these things *fingers-crossed*.

~Toni

On Sat, Aug 16, 2014 at 6:23 PM, Diva Canto <diva at metaverseink.com> wrote:
> On 8/15/2014 8:14 PM, Mister Blue wrote:
>>
>> So, next steps, what forum should we have the architectural discussion?
>
>
> I don't think we need a new mailing list. It can happen here... Unless you
> want to involve ppl who aren't already subscribed to this list. But as far
> as I know there are plenty of ppl on this list who are interested in a WebGL
> render/viewer for these environments, and many (including me) who are eager
> to help make it happen.
>
>
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev


More information about the Opensim-dev mailing list