VR with AdditionalSceneWindow

Hej Dear Devvvvs,

I have an issue with the AdditionalSceneWindow node. When enabled in conjunction with VR rendering it seems to disable all incoming data on the VRDevice node and also stops the HMD transformation from reaching the SceneWindow. (See attached patch and gif)

VR Additional Scene Window
VR Additional Scene Window.vl (124.4 KB)

Is there a way to make that work? Would be quite handy.

Cheers!

PS: The ParseData node in the HowTo Enable Virtual Reality.vl help patch needs the Separator set to semicolon to work again.

yes i can confirm this and it is annoying.

but have you tried it the other way round? i think i got it running by enabling the VR pins on the additionalscenewindow and using the main window for the non-vr output.

another option would be to render the scene twice (by duplicating all the content). and i think @CeeYaa has some experience with this as well…

1 Like

but have you tried it the other way round? i think i got it running by enabling the VR pins on the additionalscenewindow and using the main window for the non-vr output.

Interesting! That indeed seems to work somehow. Still looks a bit weird as the main renderer stays black now, but already a huge improvement.

another option would be to render the scene twice (by duplicating all the content). and i think @CeeYaa has some experience with this as well…

I’d be curious about that, but would assume that everything including all geometry would have to be duplicated which would make it a bit tedious. I tried just connecting my objects to another RootsScene node with an an additional SceneWindow before, but that didn’t work as expected.

Thanks Motzi!

it should be enough to put your content in a process node and then you just need 2 instances of it. it becomes a little bit more elaborated when you data sources that can exist once → those you have to feed into these nodes from outside.

1 Like

Yeah, true. While not necessarily great for performance that should work.

the performance is not much higher because each new window/camera/rendertarget will render everything again anyways, that is where most of the performance goes. duplicating the scene graph is not very expensive, as these objects are only data objects. you will need to process them twice, which will only cost significantly more if you have many entities.

but if you just want to see what you see in the VR glasses, you can enable the mirror window. or what is the use case for it?

I am not sure if both features can be used together, that would need a code review of the VLForwardRenderer class.

1 Like

Thanks for chiming in, Tebjan! The scenario is providing a 3rd person view to a multiplayer realm that can be used via VR hmd or classic FPS controls so the proposed solutions should be good enough :)

Just a quick update: As soon as i create a second SceneWindow in my patch or add a process node which has one my HMD input stops getting processed. Same for SceneTexture.
Would be very interested in finding a way to set that up as it seems more convenient than the AdditionalSceneWindow way.