cancel
Showing results for 
Search instead for 
Did you mean: 

Chromatic Aberration Issues

thekiwimaddog
Honored Guest
Hi everyone! I've received my DK2 today and have been playing around in both the Oculus World Demo and the Demo Scene and I'm noticing a large amount of chromatic aberration towards the edges of the screen. I've been playing around with the settings (IPD, Eye relief, Eye Cups) and nothing seems to help with this issue. In fact I can't even see a noticeable change in the chromatic aberration correction when viewing it using the monitor for reference and picking what I think are extreme values. They all just seem to produce the same correction effect.

Should the IPD, Eye Relief and Cup type change the chromatic aberration correction effect? If so can someone tell me the extreme values that I can choose for a comparison as I'm wondering if this is just a bug and my settings are not being applied to the distortion correctly.

Does anyone else see this chromatic aberration?

Thanks Everyone!
David
225 REPLIES 225

JSeb
Honored Guest
"grodenglaive" wrote:
0.4.2 much less CA then previous build. Fine tuning with the eye relief setting (software) made it even better.
Big improvement.

Hello,

I agree with that since 0.4.2, Configuration Utility's "Eye Relief" parameter now affects the chromatic aberration cancelling, which is great because the right chroma cancelling can be done manually for a given eye/hmd_profile.

For information I set, in configuration Eye relief to Full In (closest to eye), although my DK2 eye relief is close to middle position (when I configure to middle, big chroma aberrations are visible on the edges).

IHMO this tuning is quite important and it could be good if
a) user was more guided to set-up it, maybe by telling to look at the white papers on the config utility demo, and configure eye relief so that paper colour stay white in center and edge eye sight.
b) anything that can help to configure eye relief to the right setting
c) couldn't the eye exact position from the lens be detected by an optical method in the HMD ?

Thanks
JSeb

Anonymous
Not applicable
I feel I need to weigh in here as I too experience the chromatic aberration issue to an extent where I don't want to do much until it's fixed.

In the demo scene the overall color is orange while I think it's supposed to be blue. In Titans of Space the sun and Mars is more blue and not red as they should be.

Text is almost unreadable at the edges because the colors are separating way to much. At the center it looks perfect.

Is this fixed in 0.4.2? And if it where fixed, shouldn't the demo scene have this fix in the new 0.4.2 run time? If it does, then I don't think it's fixed...

EDIT:
I think this have been mentioned by others before but I will do it again. I only get this crazy chromatic aberration issue in direct access mode, not at all in extended mode.

Direct access: The demo scene is orange with high color separation. In Titans of Space the sun and Mars is blue and I have three times background stars because of color separation.

Extended mode; Perfect image in both applications.

This makes me think there are some bugs in direct access mode. Any ideas?

Saren
Honored Guest
Hi everyone !
I'm starting to work on a project with the DK2 with some friends and we have this chromatic aberration issue. We work on Unreal Engine 4 and we wanted to know if it's possible to solved it like in the "OculusWorldDemo-with-CA-scaling".
We tried to change the OVR_Stereo.cpp in the sdk but it didn't improve anything 😞

Any solutions ?

brantlew
Adventurer
Have you tried manipulating the Eye Relief Dial slider in the Configuration Utility? That should modify CA for your player profile within UE4. I don't believe modifying the OVR source code is going to change anything within the UE4 engine integration.

Saren
Honored Guest
I tried but I don't really see a difference between the "in" and "out" parameters.
Is it possible to manually change (through code) the chromatic aberration in UE just like the demo Unity I mentioned ?

We also have another problem, the camera isn't working when we launch our UE project. It's working with others demos and maybe it's because we started to work on this project with the DK1 but I have no idea how to turn it on.

prestonmediaspi
Honored Guest
This is probably a Unity-specific solution but...
I was having this issue in Unity after forcing all lights to be vertex lights and turning off VSync (was trying to optimize)...
Changing Pixel Light Count to 2 and VSync to "Every VBlank" took away almost all of the aberration.

Saren
Honored Guest
Well, I don't know if it's because of the last update of Unreal but I launched my project this morning and the camera was on 😄
So positionnal tracking is working but we still have some chromatic aberration on the side of the screen 😞

By the way, we need to present our prototype with a "live demo" and we wanted to only show 1 screen of the Oculus for the public. Anyone knows how to do that ?

seiken
Honored Guest
Hrm, I just got a DK2. The World Demo with scaling looks perfect for me at something like 0.55 CA scaling (and I have 20/20 vision as far as I know). All of the other apps I've tried have extreme chroma issues no matter what settings I use in the configuration utility, or what physical headset position I use. The eye relief slider has little to no effect between minimum and maximum. Do they need to be recompiled with a newer SDK or what?

I guess I just don't really understand how it could be so wrong, when all positions (combinations of eye-relief config setting and eye-relief physical setting) exhibit extreme, indistinguishable aberration; and yet, as demonstrated by the scaling demo, there exists a setting which eliminates the aberration completely.

SebKaine
Honored Guest
Hi Guys !

I have just receive my rift, and like many here :
- i have very high chromatic aberration at the edges of the frame
- i can't solve the problem with the Configuration Utility parameter

It looks that krp has find a solve that works almost perfectly here:
viewtopic.php?f=34&t=11190&hilit=chromatic+aberration&start=80#p165764

I have try to follow his step but i can't figure exactly how to execute the whole process,
some part of what i need to do are still obscure.


Here is what i get from his post :
-----------------------------------------------------------------------------------
1 - Download the Oculus SDK 0.4.4 here :
https://developer.oculus.com/downloads/#version=0.4.4-beta

2 - Open the the LibOVR project in :
ovr_sdk_win_0.4.4\OculusSDK\LibOVR\Projects\Win32\VS2013\LibOVR.vcxproj

3 - Open the OVR_Stereo.cpp file and fine the following code at line 1080 :

// Chromatic aberration doesn't seem to change with eye relief.
for ( int i = 0; i < numDistortions; i++ )
{
distortions[i].Config.ChromaticAberration[0] = -0.015f;
distortions[i].Config.ChromaticAberration[1] = -0.02f;
distortions[i].Config.ChromaticAberration[2] = 0.025f;
distortions[i].Config.ChromaticAberration[3] = 0.02f;
}

4 - Replace those lines by the following code :

// Chromatic aberration doesn't seem to change with eye relief.
for ( int i = 0; i < numDistortions; i++ )
{
distortions[i].Config.ChromaticAberration[0] = -0.015f * 0.75f; // = -0.01125
distortions[i].Config.ChromaticAberration[1] = -0.020f * 0.75f; // = -0.015
distortions[i].Config.ChromaticAberration[2] = 0.025f * 0.75f; // = 0.01875
distortions[i].Config.ChromaticAberration[3] = 0.020f * 0.75f; // = 0.015
}

5 - Rebuild the LibOVR with the new code

6 - Replace the old libovr lib by the new ones
-----------------------------------------------------------------------------------


Here are the point that remain obscure to me :
-----------------------------------------------------------------------------------
1 - the code i have to replace has now 3 occurrences in OVR_Stereo.cpp at line 998 / 1035 / 1142
=> Does i need to replace all the occurrences ?

2 - the default value are modified so to get the same value as krp i use :

// Chromatic aberration doesn't seem to change with eye relief.
for ( int i = 0; i < numDistortions; i++ )
{
distortions[i].Config.ChromaticAberration[0] = -0.01125f
distortions[i].Config.ChromaticAberration[1] = -0.015f
distortions[i].Config.ChromaticAberration[2] = 0.01875f
distortions[i].Config.ChromaticAberration[3] = 0.015f
}
=> is this correct ?

3 - When i build the project i only get libovrd.lib created ,
=> is that correct or do i need to build libovr.lib / libovrd.lib / libovr64.lib / libovrd64.lib ?

4 - when i search in Oculus config directories i am unable to find those libovr lib anywhere so
=> where are the files that i need to replace with the new generated lib ?
-----------------------------------------------------------------------------------

Sorry for the long post , but if someone can help to solve the problem it would be fantastic,
I haven't be able to find a place where i can find a centralized / concise / working explanation
on how to solve CA issues.


Cheers

E

SebKaine
Honored Guest
I've got the following answer from krp regarding my problems:

that post is already outdated - in the newer SDK versions the CA correction already depends also on the eye-relief settings. This way the CA is automatically better (but still not perfect).

So after playing with the setups, i find where the issues come from. I wear farsighted glasses with pretty high correction.
- When i don't put my glass the image is sharp with no CA, when my rift use the closest position to the screen.
- When i put my glass no matter what i do it's impossible to get an image without CA on the edge.

So i guess my case is special, but the rift should include additional setup for people with high farsighted glasses ... 😉