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;
Modify vireio to match hmd
-
- One Eyed Hopeful
- Posts: 8
- Joined: Tue Nov 26, 2013 12:25 am
Re: Modify vireio to match hmd
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...
Some quotes from foisi's thread
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...
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
-
- One Eyed Hopeful
- Posts: 23
- Joined: Tue Nov 05, 2013 1:05 am
Re: Modify vireio to match hmd
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 !
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 !
-
- One Eyed Hopeful
- Posts: 23
- Joined: Tue Nov 05, 2013 1:05 am
Re: Modify vireio to match hmd
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()
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()
-
- One Eyed Hopeful
- Posts: 23
- Joined: Tue Nov 05, 2013 1:05 am
Re: Modify vireio to match hmd
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 !
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 !