mpetroff / pannellum

Pannellum is a lightweight, free, and open source panorama viewer for the web.
https://pannellum.org/
MIT License
4.21k stars 717 forks source link

Support for VR headsets #82

Open hhkaos opened 9 years ago

hhkaos commented 9 years ago

I was thinking the other day that it would be great to make an app like Google Expeditions for Google Cardboad but using web technologies (p.e. mixing Pannellum + Ionic Framework).

What do you think about doing a pannellum's fork to start a Pannellum Cardboard o something like this?

Cheers! Raul

joshuakoh1 commented 3 years ago

Any updates on this?

mpetroff commented 3 years ago

WebXR now has some degree of browser support, so there's finally a reasonable implementation path open. However, Google also recently discontinued Cardboard, so it's not clear what degree of support there will be for it going forward. Regardless, this isn't a priority for me in the immediate future.

joshuakoh1 commented 3 years ago

@mpetroff Could you point me in the direction of what I need to replace to make WebXR work?

mpetroff commented 3 years ago

Nothing needs to be replaced, since no similar functionality was ever developed. At the the bare minimum, you would need to develop code to initialize WebXR, render views for each eye, and process WebXR motion control inputs. Ideally, you'd also need to develop a WebXR-based user interface for interacting with hot spots and progressing through tours.

L00ncan commented 2 years ago

I don't understand why my thread was closed here -- mpetroff/pannellum/issues/1086#issuecomment-1087801168 -- yet redirected to this thread here, i only wanted to know why 360s aren't viewable at all through the viewer not that it doesn't reperesent VR but you cannot even use it on the browser format. Sure, i threw in the sentences are they willing to support VR headsets, cause! why not ask while i'm here. As it stands Pannellum browser cannot even view 360s in standard browser formats when viewing from a headset with any bells & whistles non-active, just simple browser mode, the entirety of the 360s lag on vanilla chrome mode. Google Maps doesn't lag the 360s at all. Pannellum 360 player is a lead balloon viewing it through the chrome browser wearing a headset, try it if you must.

p.s - i don't see the google cardboard as a gimmick, phones improve over time

mpetroff commented 2 years ago

@L00ncan I don't have an Oculus Rift headset, so I can't test with it. I also don't understand how you're trying to use Pannellum with it, given the current lack of WebXR support. I have no idea what you mean by viewing in "standard browser formats" or what "vanilla chrome mode" means.

Your issue was marked as a duplicate of this one since you asked about VR headset support, and this is the issue tracking that feature (I just updated the title to make it clear that the discussion in this issue has moved past just support for Google Cardboard).

L00ncan commented 2 years ago

Alot of VR headset applications are owned by the Facebook, Google or Steam corporations. All web browser dependable corporations at their origins of source. It's only natural they would provide web browsers to browse the web with their VR to use their services, when you visit the web browser pannellum does not work without major lag into non-useable display, when google maps loads the same 360s in browser format the same 360s load fine. . pannellum does not work in VR web browser

gazhay commented 2 years ago

I think what L00ncan is saying is that the in-headset browser on a quest works with things like google streetview, and other applications with "no lag".

If you navigate that browser to a page using pannellum, the pannellum instance is then rendered within that browser window and has "lag" and is "unusable".

I'm not commenting on the validity of the use-case of pannellum within a headset browser application, but the optimization would be the responsibility of the browser implementation, not the pannellum project author. Or perhaps a fork would be more appropriate?

hubick commented 2 years ago

I, for one, wouldn't expect the tiny little CPU and very limited RAM (6GB on Quest2) in those headsets to be able to handle Pannellum and all the data from a large pano. Not even close. Google Maps and other websites don't need to load comparably massive amounts of image data. The fact that you even expect it to work, I think shows how well most experiences on those devices have had their resources tailored and optimized specifically for the limitations of the device in order to work well.

L00ncan commented 2 years ago

I never mentioned the Oculus Quest2 i use The Oculus Rift and not limited to facebooks standard mobile ram, i use my Gamer PC with my my Oculus Rift S, i have 32 Gb of ddr4 ram on my i7 processor with my 1060TI Geforce and 8Tb hdd space

My catalogue of 360s is enormous.

gazhay commented 2 years ago

In that case, the issue isn't with pannellum. In your use-case everything renders on the PC and the headset is a display.

I am not overly familiar with those setups, but that would require the graphics card to render two images (one for each eye) which are slightly different. 1060 is a bit low spec these days and maybe can't handle it, esp 3GB variants.

In any event, the headset is only displaying what the PC supplies and as such I don't see how pannellum could change that for you.

L00ncan commented 2 years ago

When i load maps or 1080p/360/4k video non full-screen on webpages similar it works great though, seems like you're shooting fish in a barrel trying to conjure vr-web-page explanations. . The future investment of my web projects are solely depending on Augmented VR as a staple long before Mark Zuckerberg announced his interest, so i'm gonna need a little better than vague guesses at this point.

gazhay commented 2 years ago

You are clearly the expert. The beauty of open source allows you to fork pannellum, fix the issue and submit a PR for the fix to the benefit of the community.

Good luck 👍

TheWaterbug commented 7 months ago

How's this for a poor-man's VR support?

https://www.kan.org/Eastvale/Pano/2UpTest.html

image

It's just two adjacent