cancel
Showing results for 
Search instead for 
Did you mean: 

Doom 3 WIP

gplourde
Honored Guest
Original Doom3 for Oculus Rift DK2 - WIP!

Last updated: [September 16, 2014]



This is using the original GPL code so compatible with mods.

Project page: https://github.com/Perpixel/Doom3
Current build download link: https://dl.dropboxusercontent.com/u/22702748/Doom3_VR_09162014a.zip

Objectives:
1) Getting 100% of Doom3 functionality working in the Rift DK2.
2) Adding VR experience with updated UI and controls.
3) Keeping the code portable and usable to other projects.

Status:
This is a project started in mid August 2014 and progress very quickly so far the game is playable but missing head position tracking. No work done on the UI yet. Not recommended to play just yet.

Known issues:
Post processing look different from one eye to the other.
Frustum error cause problem in some very small area where one eye see something and the other doesn't.
HUD doesnt fit screen.
Head position tracking is not working.
Using the PDA offset the HMD orientation. Workaround is to not move your head at all when you open the PDA
123 REPLIES 123

gplourde
Honored Guest
Crash?
Error message?
Does it work if you dont use the vr_enableOculusRiftRendering switch
Works fine on my pc! (TM)

govny
Explorer
"gplourde" wrote:
Crash?
Error message?
Does it work if you dont use the vr_enableOculusRiftRendering switch
Works fine on my pc! (TM)


without vr_enableOculusRiftRendering stars loading then quit

with vr_enableOculusRiftRendering I see a black screen then return to descktop.

hellion
Honored Guest
Just gave it a shot. I think this will be great when the aim is decoupled. I am not sure why but my FPS are horrible. The glass material effects felt very strange but thats just doom3... the cut scenes were cool i think so far, and it felt cool floating inside of and then controlling the doom marine ... hoping the bad fps is just because the head tracking is not decoupled

gplourde
Honored Guest
Try com_fixedTic 1

The bad performance is because I just don't worry about that yet and its compiled in debug. Doom3 cap the performance to 60fps and I probably need to change a bunch of stuff to make it 75 and for each eye.

hellion
Honored Guest
I thought that might be the reason but wanted to mention it .. looking good so far keep it up thank you!

gplourde
Honored Guest
It crash with ATI carfs in the SDK at DistortionRenderer::renderPrimitives in CAPI_GL_DistortionRenderer.cpp

Doing this, glDrawElements(prim, count, GL_UNSIGNED_SHORT, NULL);
ATI Driver -> atioglxx.dll!0d733b86() Unknown

No idea why and I don't have much access to ATI cards so I guess its pretty much end of the road for ATI owner. Sorry.

mindabuse
Explorer
"2EyeGuy" wrote:
Just do what I do, use the SDK like normal, don't include LibOVR in the repository, and ask the developer to copy the LibOVR folder from their SDK to a directory where your project looks for it.

If it's GPL 2 then you are explicitly allowed to use operating system components (eg. hardware drivers) in source code form. I haven't checked GPL 3, but as long as you don't work for Oculus or Zenimax, close enough is good enough here.

The far more important licensing issue is the one you are violating by not giving us the source code!


I'm with 2EyeGuy as far as GPL licensing worries are concerned. There's been various bits of talk about the GPL and the Oculus SDK licensing incompatibilities.

GPL code has to link with proprietary operating system components in order to deal with initialization, input (keyboard,mouse,joystick) and output (opengl/video, audio, etc.). The Oculus runtime & SDK deals with interacting with hardware on both open and proprietary platforms.

It is up to the copyright holders (or the EFF?) to pursue legal action regarding GPL violations. What kind of monetary damages would a hacker owe the copyright holders for violating the GPL, ESPECIALLY if said hackers release their source in accordance with the GPL? I imagine the worst that would happen is a cease and desist. Basically, "Stop releasing hacked GPL code to support 'closed' devices and platforms — it's against the license".

It's all debatable because it hasn't been challenged in court. I'm assuming it hasn't been challenged in court for a reason — even if it is technically against a potential gray-area or edge-case in the GPL license, is it really worth taking someone to court over EXTENDING open source software to work with closed devices/code?

Take for example, having some GPL code that asks the OS to open the default web browser. That isn't some sort of essential device/operating system API function — it's a matter of convenience. Does that mean calling a proprietary function to open the OS's default web browser is against the GPL because that function links against non-GPL code that doesn't deal with hardware or the OS? Wow.......

....considering that John Carmack open sourced the various id Tech/DOOM/QUAKE engines, this tweet regarding the licensing is a little ironic:

"ID_AA_Carmack" wrote:
It is self-serving at this point, but looking back, I wish I could have released all the Id code under a more permissive license. 🙂


https://twitter.com/ID_AA_Carmack/status/434005543506550784

gplourde
Honored Guest
The code is now up on Github with no instruction yet but should compile just fine on Visual Studio 2013 Pro. Drop the Oculus SDK in the right folder. Doom3 base data in the base/ folder. Simple stuff really.

https://github.com/Perpixel/Doom3

gplourde
Honored Guest
Decoupled aiming integrated. Still need to tweak the value to find something nice. The reticule is too far.

https://www.youtube.com/watch?v=A5dejnAo39E

stoltish
Honored Guest
Looks amazing really great work! Will try this when i got time 😮
http://oculusrifters.se/ Gigabyte GA-990FXA-UD3 - AMD Bulldozer FX8350@ 4,5ghz Noctua NH-U12P - 2xGigabyte GeForce GTX 780 3GB OC Windforce rev2.0 SLI -Corsair 16GB DDR3 1600MHz/CL9/VENGEANCE