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 Studio Chat / When does AGKVR work under AGKS?

Author
Message
PiXas
4
Years of Service
User Offline
Joined: 4th Nov 2019
Location:
Posted: 14th Apr 2020 08:07
See my first post for this question
https://forum.thegamecreators.com/thread/225362

Since the last update, Studio says that the AGKVR has stopped working at all.
Before that you could at least compile.

The following page states that AGKVR works under Studio.
https://www.appgamekit.com/technology

That's why I bought the plug-in. When will it finally work?
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 14th Apr 2020 19:58
You'd have to message the Original Developer about that... it never worked for me on AGKv2., and AGK-S just says it isn't "Compatible"
Now the interesting thing is that

void* GetVulkanVRImageData( unsigned int iImageIndex )
void SetVRImage( unsigned int iImageIndex, int mode )

Are new Functions in the AGK-S Plug-In Interface... but I've yet to test if they work, or produce anything.
This suggests though that Native VR Support is at least planned, the question is more "When?"
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 16th Apr 2020 20:29 Edited at: 16th Apr 2020 20:30
I've had it working with OpenGL for some time now, but haven't been able to get it to work with Vulkan. I think TGC was preferring to wait until a solution was worked out for Vulkan before it was released. Unfortunately, I've tried pretty much everything on my end and I can't see what it actually going on inside AppGameKit Studio, so I'm counting on some help from TGC.

Quote: "void* GetVulkanVRImageData( unsigned int iImageIndex )
void SetVRImage( unsigned int iImageIndex, int mode )

Are new Functions in the AGK-S Plug-In Interface... but I've yet to test if they work, or produce anything.
This suggests though that Native VR Support is at least planned, the question is more "When?""


Nope. That is part of what was added so far to help support Vulkan in AGKVR.
a.k.a WOLF!
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 21st Apr 2020 18:22
Good news! TGC was able to make some changes and things are now working with Vulkan. I'm getting everything ready for release on my end. When all is finished, TGC will also have to release a new version of AppGameKit Studio then all should be ready!

Ron

a.k.a WOLF!
JosephB
17
Years of Service
User Offline
Joined: 12th Sep 2006
Location:
Posted: 21st Apr 2020 19:47
Wonderful.

Thanks.
basicFanatic
6
Years of Service
User Offline
Joined: 7th Jun 2017
Location:
Posted: 21st Apr 2020 20:48
Yay!
Mikko
21
Years of Service
User Offline
Joined: 25th Sep 2002
Location: Finland
Posted: 21st Apr 2020 22:36
Great !!
mikko_ketonen( )hotmail.com
Vectrex71CH
User Banned
Posted: 8th May 2020 16:41
so this means, when i pay AGK-VR DLC i can use it with AppGameKit Studio ?! Sorry my question!! But a YES or NO is enough for me Thank you in advance!
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 8th May 2020 22:52
Quote: "so this means, when i pay AGK-VR DLC i can use it with AppGameKit Studio ?! Sorry my question!! But a YES or NO is enough for me Thank you in advance!"


Yes. I have finished the update that will allow AppGameKit VR to work with AppGameKit Studio. It should be released soon.
a.k.a WOLF!
Vectrex71CH
User Banned
Posted: 9th May 2020 20:53
This is great news!!! Thank you so much !!!
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 18th May 2020 19:23
The new version that works with AppGameKit Studio was released today! Have fun!
a.k.a WOLF!
Vectrex71CH
User Banned
Posted: 18th May 2020 22:20
Great NEWS!!! Thank you very much !!

May i ask a bit offtopic: What about the Shader Pack ? Does it work with App Game Kit STUDIO ?

Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 19th May 2020 00:27
So the Plug-In is finally working for me... (still doesn't in AGKv2., there's just no output to the HMD) and well I have some concerns.
It appears that the Resolution and Sync Rate of the AppGameKit App has ZERO impact on the HMD Settings.

Now as a note it appears that the HMD is Set and Restricted to 1080x1080@60Hz... which is odd.
While this is the resolution that the Rift / VIVE use., they do support 60/90Hz.
WMR / VIVE PRO / RIFT S all support 1440x1440@60-90Hz.
Quest supports 960x960@80Hz
Index supports 1800x1800@75-120Hz

While Steam VR does support GPU-Based Up/Down Scaling... this is less ideal than supporting Native Resolution., and a major reason you'd do that is for Performance Optimisation.
I did initially think that the Sync and Window Resolution were going to set what the HMD Output were; but after some experimenting., they appear to be handled entirely independent from the HMD.
And the Default Sync 0, 0 also doesn't do anything; the HMD is still outputting at 60Hz.
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 19th May 2020 02:59
Hi Raven,

Quote: "It appears that the Resolution and Sync Rate of the AppGameKit App has ZERO impact on the HMD Settings."


The resolution is set to the recommended render target size that is returned by the HMD hardware using the GetRecommendedRenderTargetSize function of the IVRSystem class in OpenVR. What hardware are you using and what resolution are you getting?
There is also nothing specific in the plugin that does anything with the application's refresh rate. When you call the Render command, it renders the camera for each eye, then submits the render images to the compositor. Once it receives both images the compositor uses them at the next refresh of the HMD, which is determined by the hardware. There is literally nothing in there to manage this. OpenVR just handles it based on the hardware that is connected. Your application should be able to run at the max refresh rate of your HMD (if your PC can render your scene quick enough). You can, of course, set the sync rate lower than that, and your application just won't send the HMD images at it's refresh rate. In this case, I'm pretty sure the HMD still refreshes at it's rate, it just doesn't have a new image to display.

Ron


a.k.a WOLF!
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 19th May 2020 15:08
I can also confirm that my demo apps get 60fps when using WMR in simulation mode, 90fps with my Samsung Odyssey+, and 72fps when using my Oculus Quest. I'm not going to connect my Vive to test it again since the rest all exactly match the hardware specs. AGKVR is working exactly how it should with refresh rates and HMD resolution.
Hopefully, this explanation helps!

Thanks!
Ron
a.k.a WOLF!
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 19th May 2020 16:50
Alright... so I did some experimenting with the HMD connected to the HDMI Port rather than via the DP-to-HDMI Adapter., and Steam VR recognised the Device could run at 90Hz as well as switched to the Native Resolution.
It's an Active Converter, so it doesn't actually allow the Device to report back (via the Display Cable); which is likely why it was Defaulting to "Normal" Mode instead of enabling "Ultra" Mode.
When I'm using WMR Toolkit or WMR OpenXR., I'm typically manually setting it because I know what the WMR HMD should be capable of (and as those ONLY support them, I don't have to worry about what other HMD might support)

Ordered a new DP 1.4 to HDMI 2.0b Adapter, so I'll either be connecting my Display or WMR to it... in either case hope it fixes the issues.
Why this Generation they decided (yeah 3 Display Ports and 1 HDMI Port, that's what Gamers want!) is beyond me.
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 19th May 2020 17:50
That is good! I did read somewhere about some adapters only supporting 60hz, but that didn't cross my mind when I was replying to you. Good luck with the new adapter. Hopefully the new one works better for you!
And I agree.... I wish everything would just use HDMI and be done with it!

Take care!
Ron
a.k.a WOLF!
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 22nd May 2020 15:23
Alright, the new DP>HDMI Adapter arrived and it's getting 90Hz (well 89.99947Hz in AppGameKit but the SteamVR Profiler is showcasing a solid < 11.1ms output which is fine)
It's also outputting a Native 2880x1440, although there remain some distracting artefacts in the Demos.
Edges at a distance flicker., and I am seeing said artefacting on both the VR and Normal View, so it might have something to do with the Assets.
Got to help out at work for a few hours, so can't check this evening; but I'll probably have a play after I get in tonight.

Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 22nd May 2020 22:58
Quote: "Alright, the new DP>HDMI Adapter arrived and it's getting 90Hz (well 89.99947Hz in AppGameKit but the SteamVR Profiler is showcasing a solid < 11.1ms output which is fine)"

That is good news!

Quote: "Edges at a distance flicker., and I am seeing said artefacting on both the VR and Normal View, so it might have something to do with the Assets."


Yeah. The castle assets definitely aren't perfect. You will probably have better luck with the other demos.

Also, just a note. It was reported to me that the render seems to be one frame behind when using Vulkan. It appears that Vulkan is rendering to a buffer and using the normal AGKVR.Render() command submits the render images to the compositor prior to the buffer swapping to the final image. It is somewhat noticeable if you compare using Vulkan versus OpenGL for rendering. The fix is easy. You just need to manually control the rendering and VR image submission, which AGKVR already allows you to do. Here is an example of how to handle it. Instead of using AGKVR.Render(), do the following:



If this is unclear, or if it would be at all helpful, I will update one of the demos and post the code here. I plan to update all demos to work this way for the next update since Vulkan seems to be the primary way forward for AppGameKit Studio.

Ron
a.k.a WOLF!
Coilwinder
11
Years of Service
User Offline
Joined: 28th Feb 2013
Location: Norway
Posted: 16th Jun 2020 17:01
I haven't used AppGameKit for a long time atm, but wanted to try the VR plugin again.

There seems to be a performance difference between AppGameKit Studio and Classic, the latter being better.

I haven't tested extensively, I literally just begun checking this out. So far I've only tried the "AGKVR Demo 1 - Castle Basic" demo in both AppGameKit versions. In AppGameKit Studio, there is a small but noticeable lag when you turn your head (sideways or up/down), whereas in Classic it's pretty much not noticeable at all. Running Oculus Debug Tool I only looked at two metrics which I thought relevant. They are almost the same though: Both have Motion-to-Photon latency of just under 39 ms. Studio have a Performance headroom of about 83%, and Classic 80%.
Which didn't really tell me much though (bit odd about the performance difference?).

Quote: "Also, just a note. It was reported to me that the render seems to be one frame behind when using Vulkan. It appears that Vulkan is rendering to a buffer and using the normal AGKVR.Render() command submits the render images to the compositor prior to the buffer swapping to the final image. It is somewhat noticeable if you compare using Vulkan versus OpenGL for rendering. The fix is easy. You just need to manually control the rendering and VR image submission, which AGKVR already allows you to do. Here is an example of how to handle it. Instead of using AGKVR.Render(), do the following:
"


I tried this in ADK Studio, in the Castle Basic demo. Not 100% sure I did it right: I just inserting the code snippet above instead of AGKVR.Render() , and moving the lines after and including Sync() to the original line with Sync() (so just using one Sync). I'm unsure if there was a difference, if it was it wasn't much, unfortunately. Which means that Classic is the better option to use for VR...

I also tried the exe files in the project folder, but they seemed to perform the same as from within the IDE. I'm guessing these are just the players and it actually is the same?

Using Oculus Quest via a Link cable to the PC btw.
Apologies for any typos and strange grammar (not native English speaking).
SFSW
21
Years of Service
User Offline
Joined: 9th Oct 2002
Location:
Posted: 16th Jun 2020 17:54 Edited at: 16th Jun 2020 17:55
This is what I've use to eliminate the discrepancy between Vulkan and OpenGL (I use 'swap', but not sure if it matters), the sequencing/staging seems to be very important from the 'UpdatePlayer' to the swap. You can render to the screen also if you want to see output there, but I tend to avoid that to reduce unnecessary renders. This also seems to work just fine in both OpenGL and Vulkan.

Coilwinder
11
Years of Service
User Offline
Joined: 28th Feb 2013
Location: Norway
Posted: 16th Jun 2020 18:55
@SFSW

Thanks!

Ah, I was being stupid. I didn't know how to run another source file in the Studio editor. I was "smart" and made another file, preserving the original, turns out I was running the original main.agc all the time. As a work-around, I now just copied the entire folder, replacing main.agc in the new folders instead. (Agc need a "Save Project As" into a new folder?).

Both your method and Ron's method above works the same as in the Classic version, from what I can see. Much better, much appreciated!
SFSW
21
Years of Service
User Offline
Joined: 9th Oct 2002
Location:
Posted: 16th Jun 2020 19:52
Nice, glad you got it sorted!
Hubert BAYRE
6
Years of Service
User Offline
Joined: 21st Oct 2017
Location: France
Posted: 18th Jun 2020 18:59
Does AGKVR and AGKS work with a single LeapMotion on Windows 10 ?
Which Leadmotion V2 or V4 Orion use ?

Login to post a reply

Server time is: 2024-04-26 20:23:10
Your offset time is: 2024-04-26 20:23:10