(04-24-2013, 03:32 PM)biolizard89 Wrote: [ -> ] (04-24-2013, 02:51 PM)yomer Wrote: [ -> ]biolizard89,
Any news on your project?
Quick question... If you're outputting in 3D on the Wii and modifying RAM data to get more rendered, does that impact the frame rate?
It's making progress, but nothing newsworthy yet. (Finals are in 1.5 weeks for me, so classes get priority right now.) The 3D is frame-sequential, meaning that each eye gets 30fps rather than 60fps. The increased FOV doesn't appear to cause any frames to drop in brief testing... but it's possible that an occasional frame could drop without me noticing.
You were looking for Dolphin's source code, right? Well, I located part of the render engine which does anaglyph stereo. It could be modified to translate the second image to have a side by side and then distort the final render to the Rift's format.
[url=You were looking for Dolphin's source code, right? Well, I located part of the render engine which does anaglyph stereo. It could be modified to translate the second image to have a side by side and then distort the final render to the Rift's format.
https://code.google.com/p/dolphin-emu/source/browse/Source/Plugins/Plugin_VideoDX9/Src/Render.cpp]https://code.google.com/p/dolphin-emu/source/browse/Source/Plugins/Plugin_VideoDX9/Src/Render.cpp[/url]
When you finish exams, this could be a good starting point to get the dolphin emu to output Rift 3D format.
I couldn't find the same call to anaglyph rendering on the DX11 plugin.
(04-25-2013, 04:19 PM)yomer Wrote: [ -> ] (04-24-2013, 03:32 PM)biolizard89 Wrote: [ -> ] (04-24-2013, 02:51 PM)yomer Wrote: [ -> ]biolizard89,
Any news on your project?
Quick question... If you're outputting in 3D on the Wii and modifying RAM data to get more rendered, does that impact the frame rate?
It's making progress, but nothing newsworthy yet. (Finals are in 1.5 weeks for me, so classes get priority right now.) The 3D is frame-sequential, meaning that each eye gets 30fps rather than 60fps. The increased FOV doesn't appear to cause any frames to drop in brief testing... but it's possible that an occasional frame could drop without me noticing.
You were looking for Dolphin's source code, right? Well, I located part of the render engine which does anaglyph stereo. It could be modified to translate the second image to have a side by side and then distort the final render to the Rift's format.
[url=You were looking for Dolphin's source code, right? Well, I located part of the render engine which does anaglyph stereo. It could be modified to translate the second image to have a side by side and then distort the final render to the Rift's format. https://code.google.com/p/dolphin-emu/source/browse/Source/Plugins/Plugin_VideoDX9/Src/Render.cpp]https://code.google.com/p/dolphin-emu/source/browse/Source/Plugins/Plugin_VideoDX9/Src/Render.cpp[/url]
When you finish exams, this could be a good starting point to get the dolphin emu to output Rift 3D format.
I couldn't find the same call to anaglyph rendering on the DX11 plugin.
Thanks for that link, that will definitely save time for whoever ends up implementing this on the Dolphin side (whether Carl, me, or someone else).
Can a Dolphin developer comment on whether the TranslateView() and RotateView() calls within the Swap() function in that file actually are able to change the View matrix for the 3D rendering of what the GameCube/Wii sends to the GX system? Or is it just translating/rotating a texture that has already been rendered? Right now it looks like Swap() only renders 1 eye per frame. If Swap(), or part of Swap(), were called 2 or more times per frame, could we render multiple View matrices for each frame that the CPU sends to GX? If this is possible, would we have to calculate all the View matrices before we displayed any of them for that frame, or could we adjust the View matrix between CPU frames while displaying them immediately?
I definitely can't start on coding any of the above paragraph until exams are over, but I'm still curious....
Hey,
So, I have Rift support working locally with the DX9 renderer, head tracking, and FOV correction. There is definitely the issue of the game culling geo out both because of the increased FOV and the head tracking, but since you're mostly sitting down and looking forward it's not really that bad. The larger graphical issues seem to be coming from the translation of the projection matrix.
Quote: Can a Dolphin developer comment on whether the TranslateView() and RotateView() calls within the Swap() function in that file actually are able to change the View matrix for the 3D rendering of what the GameCube/Wii sends to the GX system? Or is it just translating/rotating a texture that has already been rendered?
Those calls affect the 3D rendering directly.
(04-28-2013, 05:11 AM)braindx Wrote: [ -> ]Hey,
So, I have Rift support working locally with the DX9 renderer, head tracking, and FOV correction. There is definitely the issue of the game culling geo out both because of the increased FOV and the head tracking, but since you're mostly sitting down and looking forward it's not really that bad. The larger graphical issues seem to be coming from the translation of the projection matrix.
Quote: Can a Dolphin developer comment on whether the TranslateView() and RotateView() calls within the Swap() function in that file actually are able to change the View matrix for the 3D rendering of what the GameCube/Wii sends to the GX system? Or is it just translating/rotating a texture that has already been rendered?
Those calls affect the 3D rendering directly.
Nice work! Does stereo 3D work with 60fps per eye, or is the 60fps still split at 30fps per eye?
(04-28-2013, 05:11 AM)braindx Wrote: [ -> ]So, I have Rift support working locally with the DX9 renderer, head tracking, and FOV correction. There is definitely the issue of the game culling geo out both because of the increased FOV and the head tracking, but since you're mostly sitting down and looking forward it's not really that bad. The larger graphical issues seem to be coming from the translation of the projection matrix.
Would you mind posting your changes, or a link to your clone braindx?
Thanks in advance.
As soon as I finish cleaning some of this up, I will post both a clone and Windows binaries. Maybe middle of next week.
Compatibility is pretty low. Metroid Prime seems functional, but I haven't really found anything else that is. With Red Steel 2 pretty much everything is black, Goldeneye has a lot of artifacts and the UI is basically invisible. F-Zero seems alright aside from the UI being a little jacked up.
This is due to several things I'm doing. I'm forcibly modifying the perspective matrices to have the FOV required for the Rift as well as translating the projection matrix. Both of these cause various game-dependent issues. There are probably smarter things you can do to combat some of this, but unfortunately I have neither the time nor the inclination to mess with it much more than I already have. Hopefully, someone can take it the rest of the way.
Please finish this before I actually end up buying one. This could be anywhere between 9 months and 25 years.
Cool, looking forward to seeing your code. My finals will be over in a week, so hopefully I'll have some time then to continue working on this.