Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Chat / Been away - where's the VR posts?

Author
Message
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 10th Sep 2018 17:59
I've been absent from AppGameKit for a while and was going to dust off my AGKVR projects now the weather is gone!

I would have thought there would be an AGKVR section by now - nothing much here on the subject?

Asides from that, have I missed anything good?


puzzler2018
1
Years of Service
User Offline
Joined: 8th Oct 2017
Location:
Posted: 10th Sep 2018 18:05
Nice to see you back -)
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 10th Sep 2018 20:29
Not a lot been happening......the world got bored of vr and every man and his dog is racing to create memblock meshes now. Lol.
puzzler2018
1
Years of Service
User Offline
Joined: 8th Oct 2017
Location:
Posted: 10th Sep 2018 20:31
way to go lol
basicFanatic
1
Years of Service
User Offline
Joined: 7th Jun 2017
Location:
Posted: 10th Sep 2018 21:35
Yeah, weird they didn't bother to create a new section and move a few posts!

One obstacle is the lack of shaders. I think engrossing visuals are much more important in VR, where it is more about the experience than raw gameplay mechanics.

Janbo's shader kit does not work in VR, and I have not figured out how to run full-screen shaders. The GameGuru stuff looks awesome, and Preben said it works with the VR plugin. However, a GG export gives loads of code, and I'm not sure if its worth it trying to clean it up for a pure coding-in-AGK workflow.

There is a lot of basic mechanics which would be nice to have ready. Like laser pointers or code to pick stuff up with your hands. Or the ability to design your level from inside VR.

Two tricks:
I use the thumbsticks to adjust the lightening inside VR. It really gives an edge. You can't see how the light truly looks from the screen.
Remember to add some first-person-shooter movement to the game. It beats having to put on the HMD constantly.

Inspired by a certain thread, I have considered how a Minecraft clone could work in VR. There is a VR version of Minecraft, but that one lacks the Hardcore mode. I think permadeath is one of the most immersive things Minecraft, so the removal was really a bummer. Notch said that some of his biggest inspiration was Dwarf Fortress and roguelikes in general. Yet, Minecraft didn't commit itself fully to the roguelike genre. The survival aspects are pretty limited, and the deaths a bit random. But I think a pure roguelike Minecraft could be pretty fun.

PS: If you run Google Earth VR, come visit Copenhagen!
PPS: GORN is WAY entertaining!
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 11th Sep 2018 16:28
That's interesting.....I think Minecraft is easily the single best example of vr I've seen, certainly in the games I played. Perhaps batman too......but it's done in 45 mins. Batman did show that great graphics work just as well in the vr world though.

In terms of shaders, can't you just render to an image then create a sprite/plane using that image and draw it to the vr helmet? I do that in the world builder to boost speed .... distance is rendered at a quarter of the resolution as up close, then the two renders are just sprites. Shaders etc all work fine, though I don't know about full screen shaders. But rendering to an image then drawing a single sprite to the headset would suffer almost know additional slow down.
GarBenjamin
1
Years of Service
User Offline
Joined: 30th Nov 2016
Location: USA
Posted: 11th Sep 2018 17:40
Don't know anything about VR games but it's good to have you back in the forums. Hopefully we'll see an update of that awesome 3D berzerk/robotron style game.
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 11th Sep 2018 18:34
Quote: "One obstacle is the lack of shaders. I think engrossing visuals are much more important in VR, where it is more about the experience than raw gameplay mechanics.

Janbo's shader kit does not work in VR, and I have not figured out how to run full-screen shaders. The GameGuru stuff looks awesome, and Preben said it works with the VR plugin. However, a GG export gives loads of code, and I'm not sure if its worth it trying to clean it up for a pure coding-in-AGK workflow.
"


Oh dear.. that's highly disappointing. I thought there was an update later on the AGKvR that allowed the breaking up of the rendering cycle, as per AppGameKit, as this was the thing that put a stop to my AGKVR work. Without that, it's just a toy really.

I had done all the laser pointer, animated controllers and a good basic function library to use in VR games, but really needed to be able to break up the render loop.

basicFanatic
1
Years of Service
User Offline
Joined: 7th Jun 2017
Location:
Posted: 11th Sep 2018 19:22
Not really sure what you asking for when you talk about "breaking the render cycle" Are those any help?
AGKVR.Render_LeftEye()
AGKVR.Render_RightEye()

Lotsa shaders work right outa the box. But dunno how to get fullscreen ones and their renderimage to play along with VR.
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 12th Sep 2018 00:50
Quote: "Don't know anything about VR games but it's good to have you back in the forums. Hopefully we'll see an update of that awesome 3D berzerk/robotron style game.
"

Hi Gar,
Yea, I'll probably go back to that one. The Sentinel WIP isn't going to fly with the full screen shader problems.

Quote: "Not really sure what you asking for when you talk about "breaking the render cycle" Are those any help?
"


Depth rendering and other multipass rendering I mean. I was getting something close back then, but I forget now what the real issue was. I haven't even fired it up yet so I'll have a look and see if I can get back up to speed on it and see if it's working better.
My old PC then was failing and I couldn't even get 90fps in VR anymore, so I should try it on my new rig before long.
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 12th Sep 2018 00:53
@Santman
Quote: "In terms of shaders, can't you just render to an image then create a sprite/plane using that image and draw it to the vr helmet?
"


It would have to be a plane, as there's no sprites in VR. My issue at the time I recall was multi-pass rendering which is commonly used in full screen shaders.
The AGKVR implementation only had one Render() call, which couldn't be split up like you can in regular AppGameKit to do that kind of thing

basicFanatic
1
Years of Service
User Offline
Joined: 7th Jun 2017
Location:
Posted: 12th Sep 2018 13:03
There's also this one:
AGKVR.SetDepthTextures(integer RDepthImageID, integer LDepthImageID )

The VR render seems to support sprites. So in theory, you could do a hack like this:

basicFanatic
1
Years of Service
User Offline
Joined: 7th Jun 2017
Location:
Posted: 12th Sep 2018 15:16 Edited at: 12th Sep 2018 15:16
I was able to force a homegrown render into each eye. But its perspective looks "wrong". Maybe there's more to this than just creating two renders and pasting it into the right and left eye?

The positive is that it now should support full-screen shaders. The negative is that it is kinda broken. Hooray?

janbo
10
Years of Service
User Offline
Joined: 10th Nov 2008
Location: Germany
Posted: 12th Sep 2018 16:41 Edited at: 12th Sep 2018 19:43
Hi,

I once got the HTC Vive from a friend to test my shader pack and convert it for the VR plugin.
I think all the object shaders should work... but as soon as It needed a depth texture or was trying to get the fullscreen shaders to work using the, at that time new commands AGKVR.Render_Left/RightEye()
I got very strange results and could not find out what was wrong.
So I could ask my friend and try it again as I gained some distance from it (sometimes you need that)
Would be nice if Ron Erickson would make an easy fullscreen shader example...
Also what are the steps to setup the GGloader to use the VR plugin ??
I'm looking the first time into Prebens code and I can't find a hint for "Real VR" hes basically using the same method I did here Link but except using a distortion shader he uses lens objects for the distortion which also was discussed in this thread
...but I guess you knew that already
basicFanatic
1
Years of Service
User Offline
Joined: 7th Jun 2017
Location:
Posted: 12th Sep 2018 17:09 Edited at: 12th Sep 2018 17:11
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 12th Sep 2018 17:34
Actually I've been having a think, and shaders must work......I had my my landscape running and it was working fine, and it's all shaders.

Are you still actually rendering with agk?
basicFanatic
1
Years of Service
User Offline
Joined: 7th Jun 2017
Location:
Posted: 12th Sep 2018 19:35
Hi Santman, you're awfully vague ... who are you talking to, and what are you talking about?
Ron Erickson
Moderator
15
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 12th Sep 2018 21:22
A while back I was asked to add separate rendering commands for each eye and to add support for depth textures so shaders could be better supported in AGKVR. I did do both of those things. Is there something else that is needed?

Ron
a.k.a WOLF!
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 12th Sep 2018 22:36
Hi Ron,
Nice to see you are still here

I was expecting to see the ability to allow the breaking down of the render cycle, so we could do various stuff before the final render went to the VR device.
Much the same way as the regular AppGameKit render cycle can be subdivided - as per - Render2DBack, ClearDepthBuffer, Render3D, ClearDepthBuffer, Render2DFront sequence.

Not sure if the adding of the depth texture rendering helped (seems not?)

the preben referred post didn't go into render cycles, just referring to head/camera position

I would like the AGKVR people here to push for a section for AGKVR so we can group these discussions together. I thought at the time Janbo was talking to you about getting the required methods in for fullscreen shaders to work? Hopefully, we can reignite that conversation?

basicFanatic
1
Years of Service
User Offline
Joined: 7th Jun 2017
Location:
Posted: 12th Sep 2018 22:47
Hey, I was the one who begged for the ability to render the eyes separately. Only, I did it so that the program would be able to show stereoviews. (works really well by the way) So maybe that hasn't much to do with shaders?

I don't really know much about shaders and the render process and such, so I can't say much.
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 12th Sep 2018 23:48
I'm sure Ron would want the plugin to do what is needed to allow us to make decent games under AppGameKit for VR, so we just need to focus the needs.

Janbo, did the depth shader option help with being able to do fullscreen shaders?

My PC at the time was in it's death throws, so my project suddenly couldn't even make 90fps in the VR which was about the time I threw in the towel.


janbo
10
Years of Service
User Offline
Joined: 10th Nov 2008
Location: Germany
Posted: 13th Sep 2018 08:17 Edited at: 13th Sep 2018 08:21
Quote: "Janbo, did the depth shader option help with being able to do fullscreen shaders?"

I can render depth textures myself with the help of a little shader even for mobile devices wich dont support depth textures by default.

There was another problem...but I'll try to make a little fullscreen shader demo myself first ...maybe the bloom demo from Paul.
That whole process can take some time as i have limited access to a VR device.
Ron Erickson
Moderator
15
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 13th Sep 2018 13:33
Quote: "I'm sure Ron would want the plugin to do what is needed to allow us to make decent games under AppGameKit for VR, so we just need to focus the needs."


This is definitely true. I'm happy to make any changes that are needed.

Quote: "That whole process can take some time as i have limited access to a VR device."


...and I have limited knowledge of working with shaders! Let me know if there is anything else that you need on the VR side of things.

Ron
a.k.a WOLF!
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 14th Sep 2018 06:40
I was being vague?
Sorry, I was just saying shaders do work fine with vr headsets and agk vr, though I don't know about full screen shaders.
Preben
14
Years of Service
User Offline
Joined: 30th Jun 2004
Location:
Posted: 14th Sep 2018 09:29 Edited at: 14th Sep 2018 09:40
Quote: "A while back I was asked to add separate rendering commands for each eye and to add support for depth textures so shaders could be better supported in AGKVR. I did do both of those things. Is there something else that is needed?"


Hi Ron,
To support post processing the only thing needed is that you dont actually sent the renderimages to the API when calling:
AGKVR.Render_LeftEye()
AGKVR.Render_RightEye()
But only create the final render images.
This will make us able to do post processing on the left/right eye images, before your "new" command.
AGKVR.RenderImages()
(When RenderImages is called you should sent the images to the api, and end the sync)


GG Loader already support this kind of workflow so for rendering everything including post processing would then be:


This would also allow you to do your own post processing shaders on the two renderimages before calling "RenderImages()", just remember you need to run it on both images as they have different camera positions.

basicFanatic: Thats also why your hack with the sprites will never work, camera position is different on the two render images. To make it work your way you would need commands like "AGKVR.GetHMDLeftEyeX()","AGKVR.GetHMDRightEyeX()", and use those to setup the camera before rendering the two eye's. The API need to set the eyeOffset depending on the configuration of the VR Gear.

I dont have VR Gear so cant test any of this , but this will work
Subscribe and checkout great AppGameKit video's here: Videos click here
Latest GameGuru Loader news: News click here
Get GameGuru Loader PBR version here: Steam click here
best regards Preben Eriksen,
janbo
10
Years of Service
User Offline
Joined: 10th Nov 2008
Location: Germany
Posted: 14th Sep 2018 15:52 Edited at: 14th Sep 2018 16:05
Preben is right, I imagine it like folowing:
-We give your system the render images we are about to use for the postprocessing via the Init() command.
-Second We render the scene/scenes for both eyes into the passed images via AGKVR.Render_LeftEye() and AGKVR.Render_RightEye().
-Then we do some magic fullscreen shader stuff using the render images and write new content to them.
-At last we render the scene/images to the HMD.
- ...
-Profit !

@Preben: If I get a chance to test it again, I'll convert Pauls Bloom code for Ron to use as a fullscreen example demo thing...
Ron Erickson
Moderator
15
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 14th Sep 2018 15:55
Hi Preben,

Thank you for the great explanation of what is needed! I can definitely break-down the rendering into further steps each with their own commands. I can have something that properly positions the camera for each eye. Then the user can call their own sync for the camera and do all the post processing to the image that they want. Finally, I'll just have another command to submit the final images to the HMD. That will be no problem.

At the moment, I'm trying to finish another project for TGC. As soon as I get to a good breaking-point, I'll look at updating AGKVR. It may just be a few days before I can get to it!

Ron
a.k.a WOLF!
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 14th Sep 2018 19:53
Thanks Preben and Janbo for explaining.
I started writing a post trying to describe what was needed last night, but wasn't please with my explanation.

Now I'm getting a good feeling about this
GamingProphet
User Offline
Joined: 13th Sep 2018
Location:
Posted: 15th Sep 2018 02:23
Quote: "I had done all the laser pointer, animated controllers and a good basic function library to use in VR games, but really needed to be able to break up the render loop."


I would love to see the examples and code, as I'm learning VR with the DLC

Login to post a reply

Server time is: 2018-11-15 10:08:37
Your offset time is: 2018-11-15 10:08:37