It is currently Fri Dec 06, 2019 8:07 am



Reply to topic  [ 12 posts ] 
 [DK1/2] Aeon Alpha 
Author Message
Two Eyed Hopeful

Joined: Wed Feb 20, 2013 9:26 am
Posts: 81
Reply with quote
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

_________________
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.


Last edited by rupy on Tue May 14, 2019 3:46 pm, edited 12 times in total.



Sat Dec 20, 2014 7:08 pm
Profile WWW
Two Eyed Hopeful

Joined: Wed Feb 20, 2013 9:26 am
Posts: 81
Reply with quote
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:
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" +
   "   }" +
   "}";

_________________
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.


Last edited by rupy on Sat Jan 17, 2015 7:41 pm, edited 12 times in total.



Sat Jan 17, 2015 2:50 pm
Profile WWW
3D Angel Eyes (Moderator)
User avatar

Joined: Sat Apr 12, 2008 8:18 pm
Posts: 11394
Reply with quote
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.

_________________
check my blog - cybereality.com


Sat Jan 17, 2015 2:59 pm
Profile
Two Eyed Hopeful

Joined: Wed Feb 20, 2013 9:26 am
Posts: 81
Reply with quote
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.


Sat Jan 17, 2015 3:01 pm
Profile WWW
Two Eyed Hopeful

Joined: Wed Feb 20, 2013 9:26 am
Posts: 81
Reply with quote
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.


Sun Jan 17, 2016 12:00 pm
Profile WWW
Two Eyed Hopeful

Joined: Wed Feb 20, 2013 9:26 am
Posts: 81
Reply with quote
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.

_________________
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.


Last edited by rupy on Sun Feb 14, 2016 3:21 am, edited 1 time in total.



Sat Feb 13, 2016 8:04 pm
Profile WWW
3D Angel Eyes (Moderator)
User avatar

Joined: Sat Apr 12, 2008 8:18 pm
Posts: 11394
Reply with quote
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/

_________________
check my blog - cybereality.com


Sat Feb 13, 2016 8:22 pm
Profile
Two Eyed Hopeful

Joined: Wed Feb 20, 2013 9:26 am
Posts: 81
Reply with quote
I'll try to illustrate the difference following the examples in that article:

Late latching:
Code:
 0         14
+-----------+
|   +---+WX |
+-----------+


Adaptive "double-screen-Hz" FPS:
Code:
 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?

_________________
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.


Last edited by rupy on Sun Mar 06, 2016 9:07 am, edited 2 times in total.



Sun Feb 14, 2016 3:25 am
Profile WWW
3D Angel Eyes (Moderator)
User avatar

Joined: Sat Apr 12, 2008 8:18 pm
Posts: 11394
Reply with quote
rupy wrote:
Did you try Aeon?

No, sorry. I'm not installing an ancient runtime.

_________________
check my blog - cybereality.com


Sun Feb 14, 2016 2:23 pm
Profile
Two Eyed Hopeful

Joined: Wed Feb 20, 2013 9:26 am
Posts: 81
Reply with quote
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.


Sun Feb 14, 2016 6:07 pm
Profile WWW
Two Eyed Hopeful

Joined: Wed Feb 20, 2013 9:26 am
Posts: 81
Reply with quote
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.


Fri Mar 18, 2016 12:52 pm
Profile WWW
Two Eyed Hopeful

Joined: Wed Feb 20, 2013 9:26 am
Posts: 81
Reply with quote
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.


Mon Apr 18, 2016 1:22 am
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 12 posts ] 

Who is online

Users browsing this forum: No registered users and 11 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

cron
Powered by phpBB® Forum Software © phpBB Group
Designed by STSoftware.