It's #3.

Here's my point of view(er). We need a viewer that:

1) Uses secure networking and is able to go through firewalls, so a completely different network stack.

2) Accepts programmable UIs from the server and therefore is capable of conveying completely different applications.

3) Uses modern graphics, so a completely different rendering engine. Would be nice that it would be capable of being compiled for different platforms such as mobile and game stations.

4) Last but not least, is capable of rendering OpenSim/SL content. We all like the build tools of SL, they are the easiest 3D authoring tools out there, and therefore we want to continue to support prims and the horribly un-optimized content that people create. The current viewers can support building very well, we should continue to use them for that.

Rendering on the Web browser is not a priority. These days it's pretty easy and common to install and run native applications by clicking links. Ppl are starting to get used to it with apps like Zoom, BlueJeans, etc.

We've been having internal discussions about how to go at it, what rendering engine(s) to use, etc. Personally, I hate the thought of committing to one single technology, so a lot of the hesitation [on my part] has been to figure out how to develop a viewer that doesn't commit strongly to Unreal, Unity, ... but that could perhaps be made to work with several rendering engines. Like what we did for Physics on the server side. It's not easy, and may not even be possible. So starting with one but keeping it at arms-length distance may be the way to go.

On 12/14/2018 3:07 PM, Tommy Anderberg wrote:
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.
_______________________________________________
Opensim-dev mailing list
Opensim-dev@opensimulator.org
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev



_______________________________________________
Opensim-dev mailing list
Opensim-dev@opensimulator.org
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev

Reply via email to