Modify vireio to match hmd

The place for all discussion of the Oculus Rift compatible open source 3D drivers.
Post Reply
Allibow
One Eyed Hopeful
Posts: 23
Joined: Tue Nov 05, 2013 1:05 am

Modify vireio to match hmd

Post by Allibow »

Hello i am about to modify The vireo drivers to fit my diy infiniteye can anyone give med som pointers where to start?

It has very high fov so I need to re define wraping and Camera pos

Is these lines used to set Camera position for side by side renders?


D3DXVECTOR3 up, position, lookAt;
float yaw, pitch, roll;
D3DXMATRIX rotationMatrix;


// Setup the vector that points upwards.
up.x = 0.0f;
up.y = 1.0f;
up.z = 0.0f;

// Setup the position of the camera in the world.
position.x = m_positionX;
position.y = m_positionY;
position.z = m_positionZ;
dkd
One Eyed Hopeful
Posts: 8
Joined: Tue Nov 26, 2013 12:25 am

Re: Modify vireio to match hmd

Post by dkd »

Hi Allibow,

I'm glad to see another successful attempt to build a clone of foisi's dual screen HMD. I wish I would build my own Infiniteye but I am afraid of these software/driver parts because I understand nothing in coding.
Unfortunately there isn't a driver for the dual screen HMD yet. Concerning modifying Vireio driver AFAIU besides the wraping and Camera pos you also need to change the number of cameras...

Image

Some quotes from foisi's thread
foisi wrote: I tried the vireio drivers last weekend and I was able to run correctly the binaries that I compiled from the latest git sources with VS2012 express in debug (because in release, it auto inject itself or something like that) with L4D2 and Mirror's Edge. The drivers seem to work as intended for 100% stereoscopic overlap on these games but once you add divergence of the cameras it starts to behave strangely (missing geometry (clipping?))
I will try again when hardware is finished (hopefully soon) :)
foisi wrote:hi, I don't think iz3d drivers are compatible because for my demo I had to use 3 cameras per eye and apply a pre warp shader on each render vertically and then another distortion shader horizontally to get the proper rendering... (look at the screenshots) but maybe vireio drivers can be modified to do so.
I didn't check the oculusvr SDK source yet but if I can code the proper rendering method (3 cameras etc) into it, it would be awesome ( especially because the demos and games using it are designed with VR in mind (as opposed to regular games with 3D drivers like iz3d or vireio) )
graziano wrote:3 cameras? Is this for image warping or for proper perspective projection for wide FOV?
foisi wrote:yes, it's the projection for wide FOV that results in too much stretching on the edges of the screens
Allibow
One Eyed Hopeful
Posts: 23
Joined: Tue Nov 05, 2013 1:05 am

Re: Modify vireio to match hmd

Post by Allibow »

yea ive seen him explain the cameras and renders like that!

ive been looking thru all the code for the program now but im still not sure where i will edit

acutually if u run HL2 on infiniteye and vireio in oculus rift mode @2560x720 it works pretty well !
Allibow
One Eyed Hopeful
Posts: 23
Joined: Tue Nov 05, 2013 1:05 am

Re: Modify vireio to match hmd

Post by Allibow »

if i want to fill out unused parts of screen vericaly could i edit resolution unit or is it the wrong way to go ?


HMDisplayInfo() : 54 resolution(std::make_pair<UINT, UINT>(1280, 800)), // Rift dev kit 55 screenAspectRatio((float)resolution.first / (float)resolution.second), 56 halfScreenAspectRatio(((float)resolution.first * 0.5f) / (float)resolution.second), 57 physicalScreenSize(std::make_pair<float, float>(0.14976f, 0.0935f)), // Rift dev kit 58 eyeToScreenDistance(0.041f), // Rift dev kit 59 physicalLensSeparation(0.064f), // Rift dev kit 60 distortionCoefficients()
Allibow
One Eyed Hopeful
Posts: 23
Joined: Tue Nov 05, 2013 1:05 am

Re: Modify vireio to match hmd

Post by Allibow »

after rtfm:ing alot i changed a few things in this code and compiled it using VS2012

halfScreenAspectRatio(((float)resolution.first * 0.5f) / (float)resolution.second),
physicalScreenSize(std::make_pair<float, float>(0.9f, 0.1300f)), // Rift dev kit
eyeToScreenDistance(0.041f), // Rift dev kit
physicalLensSeparation(0.062f), // Rift dev kit
distortionCoefficients()
{
// Rift dev kit
distortionCoefficients[0] = 1.0f;
distortionCoefficients[1] = 0.1f;
distortionCoefficients[2] = 0.1f;
distortionCoefficients[3] = 0.0f;


results were not as expected :) must try again tomorrow !
Post Reply

Return to “Development / General Discussion”