[DK1/2] Aeon Alpha

Post Reply
rupy
Two Eyed Hopeful
Posts: 81
Joined: Wed Feb 20, 2013 9:26 am
Contact:

[DK1/2] Aeon Alpha

Post by rupy »

Image
"It's like Homeworld in first person."

Image

Lowpoly multiplayer space shooter, for high framerate and zero simulator sickness.
  • - Disable Aero on Win: Right click desktop, Personalize, Select "Windows 7 Basic" Theme.
    - Disable force VSYNC: Aeon should render at 2xHz FPS.
    - Uses 0.4.4:
    • - Switch to extended display mode.
      - Keep the Configuration Utility open.
      - For DK2: rotate screen to 1920x1080 like all other "extended" demos.
    - To launch double click bin/aeon.jar
    - IPD Config: hold 9-key until crosses diverge, then press 8-key until crosses converge.
    - Controls: Arrow keys and A, S and W.
    - Press R to reset view.
Download (This also works without Rift, so you can play with friends that don't own a Rift)
Readme
Last edited by rupy on Sat Oct 31, 2020 8:32 am, edited 17 times in total.
Image
"It's like Homeworld in first person."
Disable Aero and vSync for a completely simulator sickness free experience with 2xHz FPS.
Keep the 0.4.4 config utility open for tracking to work.
rupy
Two Eyed Hopeful
Posts: 81
Joined: Wed Feb 20, 2013 9:26 am
Contact:

Re: [DK1&2] Aeon Alpha

Post by rupy »

Hey, so I got the barrel distortion up, but now I want to integrate the chromatic aberration distortion into the same shader and I kind gotta a feeling it should be possible, but I'm a complete shader noob, can anyone help?

This is the code so far (the arrow parts are what I'm struggling with):

SOLVED: The below code works!

Code: Select all

String VERTEX = 
	"void main() {\n" + 
	"   gl_TexCoord[0] = gl_MultiTexCoord0;\n" + 
	"   gl_Position = gl_Vertex;\n" + 
	"}";

String FRAGMENT = 
	"uniform sampler2D tex;\n" + 
	"uniform vec2 LensCenter;\n" + 
	"uniform vec2 ScreenCenter;\n" + 
	"uniform vec2 Scale;\n" + 
	"uniform vec2 ScaleIn;\n" + 
	"uniform vec4 HmdWarpParam;\n" + 
	"void main() {\n" + 
	"   vec2 theta = (gl_TexCoord[0].xy - LensCenter) * ScaleIn;\n" + 
	"   float rSq = theta.x * theta.x + theta.y * theta.y;\n" + 
	"   vec2 theta1 = theta * (HmdWarpParam.x + HmdWarpParam.y * rSq + " + 
	"           HmdWarpParam.z * rSq * rSq + HmdWarpParam.w * rSq * rSq * rSq);\n" + 
	"   vec2 tc = LensCenter + Scale * theta1;\n" + 
	"   if (any(notEqual(clamp(tc, ScreenCenter - vec2(0.24, 0.49), ScreenCenter + vec2(0.24, 0.49)) - tc, vec2(0.0, 0.0))))\n" + 
	"       gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n" + 
	"   else {\n" + // 1.0, 1.017, 1.038
->	"      float r = texture2D(tex, (((tc - LensCenter) / 1.0) + LensCenter)).r;\n" + 
->	"      float g = texture2D(tex, (((tc - LensCenter) / 0.983) + LensCenter)).g;\n" + 
->	"      float b = texture2D(tex, (((tc - LensCenter) / 0.962) + LensCenter)).b;\n" + 
->	"      gl_FragColor = vec4(r, g, b, 1.0);\n" + 
	"   }" + 
	"}";
Last edited by rupy on Sat Jan 17, 2015 7:41 pm, edited 12 times in total.
Image
"It's like Homeworld in first person."
Disable Aero and vSync for a completely simulator sickness free experience with 2xHz FPS.
Keep the 0.4.4 config utility open for tracking to work.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DK1&2] Aeon Alpha

Post by cybereality »

I tried this yesterday.

The distortion looks better but I forgot to stop the OVR service so I wasn't getting any tracking.

I will give it another go and see how it is.
rupy
Two Eyed Hopeful
Posts: 81
Joined: Wed Feb 20, 2013 9:26 am
Contact:

Re: [DK1&2] Aeon Alpha

Post by rupy »

Hey cyber,

I think i fixed it!

Don't forget to turn Aero and Vsync off too!
Image
"It's like Homeworld in first person."
Disable Aero and vSync for a completely simulator sickness free experience with 2xHz FPS.
Keep the 0.4.4 config utility open for tracking to work.
rupy
Two Eyed Hopeful
Posts: 81
Joined: Wed Feb 20, 2013 9:26 am
Contact:

Re: [DK1&2] Aeon Alpha

Post by rupy »

Trying to render to the Wearality lenses.

http://www.aeonalpha.com/fov.html

Would appreciate any OpenGL help I can get.
Image
"It's like Homeworld in first person."
Disable Aero and vSync for a completely simulator sickness free experience with 2xHz FPS.
Keep the 0.4.4 config utility open for tracking to work.
rupy
Two Eyed Hopeful
Posts: 81
Joined: Wed Feb 20, 2013 9:26 am
Contact:

Re: [DK1&2] Aeon Alpha

Post by rupy »

I patched the game with my adaptive "double-screen-Hz" FPS solution.

If you try it you will almost get a better experience than 0.8 with Async Timewarp and Direct Rendering.
Except tearing and ghosting which will be solved in the CV/Vive screens (global update) and/or next gen screens (no ghosting).

Why?

Because when you render two frames per Hz of the screen, the last frame is as close to the photons as you can be.

Until we either get screens that show frames when they are received or can ask the screen when the next frame will be shown; this is as good as it gets.

To try:

- Download everything you need from aeonalpha.com.
- Reinstall Runtime 0.4.4.
- Install Java 1.5+.
- Disable Aero and vSync.
- Keep the config utility window open.
- Double click aeon/bin/aeon.jar.
Last edited by rupy on Sun Feb 14, 2016 3:21 am, edited 1 time in total.
Image
"It's like Homeworld in first person."
Disable Aero and vSync for a completely simulator sickness free experience with 2xHz FPS.
Keep the 0.4.4 config utility open for tracking to work.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DK1&2] Aeon Alpha

Post by cybereality »

You can get low latency, high performance, with modern Oculus SDKs (without having to disable VSync or do any double-rendering tricks).

See this article: https://developer.oculus.com/blog/optim ... -latching/
rupy
Two Eyed Hopeful
Posts: 81
Joined: Wed Feb 20, 2013 9:26 am
Contact:

Re: [DK1&2] Aeon Alpha

Post by rupy »

I'll try to illustrate the difference following the examples in that article:

Late latching:

Code: Select all

 0         14
+-----------+
|   +---+WX |
+-----------+
Adaptive "double-screen-Hz" FPS:

Code: Select all

 0         14
+-----------+
| +--X +--X |
+-----------+
Where + is a sensor read and X is a display update.

All the over-engineered workarounds (async time warp, late latching etc.) still make me simulator sick (probably because of the inconsistency) and how Oculus & Microsoft implemented direct rendering excludes custom game engines, not to mention that you removed external for no good reason (you could have left it as a developer/hacker mode) on a device I bought to be able to develop for it with extended! All the solutions you have now are technical debt, future screens and 3D APIs will make them obsolete, while my solution is around 5 lines and future proof!

I tried Eve Valkyrie on latest everything; only on a 760Ti though, and after 20 minutes I was starting to feel nauseus. A lot less than before on other games, so it's a great improvement, but still I can't spend hours in VR; and at double the power consumption! At 4x power maybe your solution will be comfortable enough.

As a side note; on Intel 4000 HD with the latest driver I get 180 FPS (up from 150 FPS!) so I'm good for Vive if they keep extended!

Did you try Aeon?
Last edited by rupy on Sun Mar 06, 2016 9:07 am, edited 2 times in total.
Image
"It's like Homeworld in first person."
Disable Aero and vSync for a completely simulator sickness free experience with 2xHz FPS.
Keep the 0.4.4 config utility open for tracking to work.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DK1&2] Aeon Alpha

Post by cybereality »

rupy wrote:Did you try Aeon?
No, sorry. I'm not installing an ancient runtime.
rupy
Two Eyed Hopeful
Posts: 81
Joined: Wed Feb 20, 2013 9:26 am
Contact:

Re: [DK1&2] Aeon Alpha

Post by rupy »

Seems we are in a deadlock, I got the 0.8 driver from Stellas Minecrift update, and I'll try to get it to work when I'm in the summer house which has 0.8 Runtime... will let you know how that pans out, maybe I can get the orientation data with the Configuration Utility open and run the DK2 as a monitor like before since I do all the rendering myself? Who knows!

Maybe that even works on CV/Vive! :)
Image
"It's like Homeworld in first person."
Disable Aero and vSync for a completely simulator sickness free experience with 2xHz FPS.
Keep the 0.4.4 config utility open for tracking to work.
rupy
Two Eyed Hopeful
Posts: 81
Joined: Wed Feb 20, 2013 9:26 am
Contact:

Re: [DK1/2] Aeon Alpha

Post by rupy »

So tracking works great with the 0.8 runtime, but the direct monitor is completely hidden, no way to get access to it now from LWJGL.

The real question is how many ms. does the direct monitor save? I render at 2x Hz, which makes the latency 5 ms. on a 90Hz screen, I doubt the direct monitor will save you the 6 ms. more it takes you to render 90 FPS at 11 ms. per frame.

Luckily I ordered a Vive and SteamVR has extended so hopefully you will be able to try my game in a Vive soon!
Image
"It's like Homeworld in first person."
Disable Aero and vSync for a completely simulator sickness free experience with 2xHz FPS.
Keep the 0.4.4 config utility open for tracking to work.
rupy
Two Eyed Hopeful
Posts: 81
Joined: Wed Feb 20, 2013 9:26 am
Contact:

Re: [DK1/2] Aeon Alpha

Post by rupy »

So I have ported to Vive: http://aeonalpha.com

Boy the flaws are still there, the screen is basically not better than the DK2 (all the oled artifacts are still there) and the lenses need low contrast; so I have to rebuild the colors. Right now it flares alot. The 2x Hz FPS still works well to alleviate simulator sickness but I was hoping the global update displays would actually only display finished frames, which they don't, but only when you move your head... and setting sync to 90 FPS doesn't solve the problem?!

While I'm very impressed with room scale and the demos that where included with the Vive, VR as a whole is a bit meh... still... I'm waiting for pascal to upgrade my 750 Ti (which does a surprisingly good job at rendering all the Vive content) 16nm is probably peak litography, so after that it's up to software and clever solutions to get more!

The only real application for VR is to build a lowpoly editor/animator tool anyone can use to build content for non VR games.
Image
"It's like Homeworld in first person."
Disable Aero and vSync for a completely simulator sickness free experience with 2xHz FPS.
Keep the 0.4.4 config utility open for tracking to work.
Post Reply

Return to “Oculus VR”