
Show HN: Primrose - WebVR Framework - moron4hire
http://www.primrosevr.com/
======
michaelmior
This takes me back to the days of VRML[0]

[0] [https://en.wikipedia.org/wiki/VRML](https://en.wikipedia.org/wiki/VRML)

~~~
moron4hire
Yeah, there are a lot of VRML replacements coming out right now. X3D[0] is the
official VRML 2.0, but I believe it requires a plugin (well, there is a
THREE.js importer, but at that point you really should be using glTF[1] or
THREE.js's own JSON format). There is GLAM by Tony Parisi[2], who actually did
a lot of work on the original VRML. And very recently, Mozilla released
A-Frame[3], which is trying to also build an ecosystem of reusable Web
Components. All interesting in their own right. I think A-Frame has the best
chance of succeeding, in that it has the most high-profile backing right now.

That said, they're all pretty low level. I specifically do not want users
doing wholesale scene design in a hand-written script format. For the work I
want to do, that's what a 3D modeling package like Blender is for, and as hard
was Blender is to use, it's a lot easier to get a non-trivial scene working
with it than hand-writing XML code. My Live-Editable 3D Environment demo is
more of a stop-gap for a much more drag-and-drop experience I'm planning for
the future.

The goal (and I'm certainly not there yet, but I've been making pretty fast
progress) is to make something more akin to a Window Manager for VR. In the
same way that DWM on Windows or X on Unix provide a higher level of
abstraction for GUI elements beyond raw graphics primitives, I want to be able
to provide a set of GUI elements that are useful for adapting HTML forms in
VR. With Primrose, you shouldn't have to model a button that a user can click
unless you have a specific need to completely redesign a button. There should
be a button already that you can place on your scene/form with the same ease
you would an HTML button in the DOM.

Long-story short, I'm trying to make the VB6 of WebVR.

[0] [http://www.web3d.org/](http://www.web3d.org/)

[1]
[https://github.com/KhronosGroup/glTF](https://github.com/KhronosGroup/glTF)

[2] [http://tparisi.github.io/glam/](http://tparisi.github.io/glam/)

[3] [https://aframe.io/](https://aframe.io/)

------
sgifford
I see a Cardboard-style icon on the right, is that supposed to switch to
Cardboard's side-by-side 3D format? It doesn't for me.

~~~
moron4hire
It won't on a desktop, unless you're running one of the dev builds of Firefox
or Chrome that have the WebVR extensions built in and enabled. It should work
on mobile (though it will be better with Firefox Nightly or Chrome Dev). I
don't know about iDevices, though.

~~~
sgifford
I tried on an iDevice with Chrome and Safari.

~~~
moron4hire
Well, I managed to find an iPad 2 back in the deep recesses of one of my
closets. I found a defect where my code failed to consider iPads as "mobile"
devices, aka "has motion sensor".

Once I fixed that, there was another issue where iOS's version of WebKit
doesn't handle orientation values in the same way as Chrome on every other
platform (with Firefox having yet a third way, it's a very poorly specified
API). Hopefully, Apple will eventually get on the WebVR bandwagon, because the
WebVR API is much, much more consistent than the Device Motion API across
platforms.

I don't have any iPhones around to test against those, but from the nature of
the problem, I would guess you also had an iPad, because the detection
_should_ have worked for iPhone.

Perf on the iPad 2 was abysmal, which is not terribly surprising, considering
the cross-section of Apple being hostile towards WebGL and me being not very
experienced in optimizing draw calls.

------
RobertoG
From
[https://github.com/capnmidnight/Primrose/](https://github.com/capnmidnight/Primrose/)
:

"Primrose is free, open source software and may be readily used with other
FOSS. You may purchase a license for use in closed source projects"

"To simplify licensing issues, contributions to Primrose require a copyright
assignment to me, Sean T. McBeth."

Is this standard practice? Because sounds weird.

~~~
moron4hire
For GPL-licensed software, yes.
[http://programmers.stackexchange.com/questions/185729/is-
it-...](http://programmers.stackexchange.com/questions/185729/is-it-fair-to-
require-copyright-assignments-from-contributors-of-an-os-project)

I'm not trying to sell licenses directly on the site anymore (and had
forgotten to change the README), but I'm still going to require copyright
assignment, for many of the reasons stated in that SO thread.

