dynamic adjustment of stereo parameters for virtual reality tools
DESCRIPTION
Dynamic Adjustment of Stereo Parameters for Virtual Reality Tools. Felipe Carvalho, Daniel R. Trindade, Peter F. Dam, Alberto Raposo, Ismael H. F. dos Santos. Introduction. - PowerPoint PPT PresentationTRANSCRIPT
Dynamic Adjustment of Stereo Parameters for Virtual Reality Tools
Felipe Carvalho, Daniel R. Trindade, Peter F. Dam, Alberto Raposo, Ismael H. F. dos Santos
Introduction
Currently new stereoscopic technologies are increasingly present in our lives, reaching new areas, among which are virtual reality, cinema and games
However the use of stereoscopy may cause problems such as nausea and headache if the parameters aren’t set correctly
Introduction
Problems related to stereoscopy: Objects with a high parallax value (positive or
negative) cause discomfort because the eyes have a hard time converging
When the zero parallax plane isn’t on the same plane as the screen (accomodation/convergence problem)
Objects being clipped by the screen borders when they are in negative parallax
In multiscale environments, if the stereoscopy parameters are kept constant throughout the scenario, the convergence problem may occur
Objective
This work’s objective is to propose a solution capable of dynamically adjusting the stereoscopy parameters for virtual reality applications, including multiscale scenarios
Cubemap
Provides information about the virtual environment at a certain moment
Given a camera position, this structure is built doing 6 rendering passes, each one in a different direction so to cover the whole environment
Camera’s FOV is 90 degrees, so the combination of 6 resulting frustrums yields a cube
A shader is used to calculate the distance of the generated fragment to the camera, which is stored in the alpha channel
The cubemap images’ RGB channels store a unit vector originating from the fragment and pointing to the camera
Navigation Techniques
The way the user interacts with the scene may influence the stereoscopy effect
The stereoscopy parameter adjustment should consider how the user navigates and interacts with the scene
In this work we consider two interaction techniques: Fly – free navigation through the scene Examine – visualization centered upon a
selected object
Navigation Techniques
The Fly navigation speed is automatically adjusted based on minDist (smallest value yielded by the cubemap for a certain camera position)
This way the navigation speed is in accordance to the scale in which the camera is in
Collision detection avoids the camera going through objects: every time the camera gets near an object it suffers a repulsion factor which makes it swerve gently
The clipping planes are also adjusted according to minDist to guarantee their correctness
Clipping Planes
The adjustment avoids objects being unduly clipped or the appearance of artifacts in distant objects, hindering the stereoscopy effect
Using minDist from the cubemap we are able to obtain optimal values for the near and far planes, keeping the visible geometry between the planes
We update near and far using the equation below, where n is the near plane, f is the far plane, alpha, beta, A, B and C are constants
C establishes a ratio between near and far In our tests we found that the following
values produce good results: Alpha = 0,75 Beta = 1,5 A = 2 B = 10 C = 10000
Dynamic Adjustment of Stereoscopy Parameters for Fly Navigation
The stereoscopy parameters are dynamically adjusted using the following equations:
Distpzero = minDist Eyesep = k * minDist
Where Distpzero is the distance to the zero parallax plane, Eyesep is the virtual eye separation, minDist is the smallest value yielded by the cubemap and k is a constant
This adjustment is done every time the clipping planes are adjusted
Dynamic Adjustment of Stereoscopy Parameters for Fly Navigation
The first equation creates an effect where the objects stay in positive parallax during most of the time, creating a more comfortable depth effect
The use of minDist avoids objects in negative parallax being clipped. It’s as if we could predict if an object will enter the camera’s visible area
It doesn’t matter if the user rotates the camera, minDist depends only on the camera’s position. This way a camera rotation doesn’t change the stereoscopy parameters.
Dynamic Adjustment of Stereoscopy Parameters for Fly Navigation
The second equation adjusts the eye separation according to the scale in which the camera is at a certain moment
For example: if the camera is in a room it may be reasonable that the eye separation is in accordance to the eye separation of a real person, however if the camera is looking at a whole planet, the eye separation must be changed to a larger scale
The constant k is chosen to provide a comfortable depth sensation to the user. In our tests we found that using k = 0.01 gives a satisfactory effect
Dynamic Adjustment of Stereoscopy Parameters for Fly Navigation
The proposed adjustment depends on the navigation techniques previously implemented due to the following reasons: For the adjustment to work correctly the values
of minDist must vary smoothly. This is possible due to the automatic adjustment of navigation speed
The collision detection guarantees that the stereoscopy effect will not be broken because the camera does not pass through objects
Dynamic Adjustment of Stereoscopy Parameters for Examine Navigation
In this approach we decided to place the zero parallax plane in the center of the selected object
The eye separation is determined by a constant multiplied by the object’s bounding box. In our tests we set the constant to 0.18
This adjustment produces an interesting stereoscopic effect since half the object is in the negative parallax while guaranteeing that it will not suffer clipping from the screen’s borders
Conclusion
In our informal tests we have verified that the proposed adjustments produce comfortable stereoscopy and facilitates the use of stereoscopic virtual reality applications since the user does not need to worry about adjusting the parameters.
As future work we intend to conduct more accurate usability tests to evaluate our solution