[Opensim-dev] Unreal viewer: summoning the coders

Tommy Anderberg Tommy.Anderberg at simplicial.net
Fri Dec 14 23:07:29 UTC 2018


On Mon, 10 Dec 2018 13:48:29 -0800, Diva wrote:
> Some of us core devs have been talking for a while about developing a
> viewer more or less from scratch. This code _may_ be a good start. If
> there's anyone out here with the technical chops, the time, and the will
> to contribute, let us know!

Is there a list of goals for a new viewer?

I ask because I've seen the need for one suggested many times, usually 
with two arguments:

1) Current viewers make OpenSim look bad; "my kids laugh at me because 
the graphics look like they're from a 15-year old game". (I think this 
was said at OSCC, too.)

2) OpenSim needs a web-based viewer; people these days just don't want 
to download and install software the old-fashioned way, they just want 
to open a browser window and go.

There is also a less commonly seen argument:

3) OpenSim needs a viewer which can be tailored to provide experiences 
beyond an SL clone. Viewer developers focusing on SL are unlikely to 
spend time on such features, so it's up to OpenSim developers to do it. 
Hence https://github.com/diva/OnLook


Argument #1

...looks iffy to me. A new viewer will not automatically make OpenSim 
look better. If it is to be compatible with existing worlds (and if not, 
who will use it?), it will be displaying the same old assets, and shader 
lipstick can only do so much for porcine content. (I believe somebody at 
OSCC mentioned dynamic shadows. I scratched my head. We've had those in 
OS/SL viewers for almost a decade?)

Existing viewers actually do some things really well; I have yet to see 
any client for the growing crop of new VR worlds do what Windlight can 
do (Hypatia's comes closest). That would all have to be recreated before 
a new viewer can be called an improvement.

Is the idea to introduce new asset types tailored to UE's capabilities? 
Then we're moving from argument #1 to argument #3. Existing worlds won't 
benefit much in the short term, but they will still have to be supported 
if there is to be any uptake at all of the new viewer. Meanwhile, users 
of existing viewers will complain that some assets look broken or even 
make them crash.


Argument #2

...usually gets shot down with something like "browsers can't do the 
job" (that too was heard at OSCC). If we are talking about HTML5 and 
Three.js, it might well be true. But have a look at Epic's Zen Garden 
demo from March 2017. Is it really obvious that WebAssembly and WebGL 2 
can't do the job either?

So, if you really believe that lack of a web-based viewer is keeping 
OpenSim back, UE's support for WebAssembly might be a good reason to 
consider going down this route. But then one should weigh the effort of 
building a whole new viewer against the effort required to get the core 
parts of an existing one to compile with Emscripten.

As an aside, I am less convinced now than a few years ago that a web 
viewer would really make that much of a difference. It's not like 
Fortnite has suffered greatly from the need to download and run a 10 GB 
installer before you can start having fun (for some people's definition 
of "fun").


Argument #3

... is the one I find most credible. But whether UE provides the best 
route to an OpenSim-specific viewer depends on what exactly one is 
trying to achieve.

Is better graphics an important criterion, to the point that it warrants 
the introduction of UE-specific asset types unsupported by existing viewers?

Is VR support important? UE and Unity both make this very easy to add.

Is easy customization of the UI what really matters? An easily 
customizable HTML5 UI around a WebAssembly-driven WebGL canvas could be 
a worthy heir to OnLook, but this might be easier to achieve starting 
from an existing viewer.


Maybe these questions have all been thrashed out already. If so, a link 
to a document summarizing the answers would be welcome.


More information about the Opensim-dev mailing list