[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