GMsphere (demo based on Deskope from AngelJ)

geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

I started this new thread so I can keep updating this first post with new attachments. This "GMsphere" demo app is based on my previous updates to the Deskope demo from AngelJ. As his thread grows, most attachments scattered through multiple pages of his thread are getting buried, so it is time for a new thread. And time for a name change for the app, too, as my version grows independently from his.

Both of us may use his initial simple code base as a platform on which to hang interesting demo features and ideas.

First of all, this new demo attached here uses a different background pattern in the off-desktop unused pixels coating the inside surface of the sphere you find yourself inside when running this demo on your RiftDK. Although this new pattern still uses the horribly slow GDI SetPixel() calls (and many more of them per frame update), it is far faster than my previous version. It seems that the real bottleneck was the use of srand() and rand() calls for each pixel location. Now a simpler xor function is used in its place, which makes the frame update rate a lot faster.

The bottleneck is still how long it takes to read the desktop image from the video card VRAM, but I can add an extra buffer to use with my "PTZ Tweening" technique, to allow very responsive head rotation, even while the VRAM read progress much more slowly in a separate thread. That will come later...
calebkraft wrote:Geekmaster, it might be a good idea to put some simple instructions on how to intialize this in the first post.


step 1. switch monitor to "extend" instead of duplicate. (then apply)
step 2. move 2nd monitor, which is your rift, above the first (then apply)
step 3. place rift on forehead
step 4. center and level your head and double click the executable.
step 5. lower rift onto eyes and see glorious desktop.



when the program initializes, it takes the position of the rift into account. with it on your forehead, and the screens set up with one on top of the other, it brings your primary screen into your view when you lower it. Your rift screen is useless in this simulation and looks like a repeating mirror.
The attachment contains static-linked executable (no special DLL files needed), and source code. You can exit this program with Alt-F4.

Enjoy! :D
GMsphere1a.zip
A screenshot of this app is a waste of time. It would just show my desktop, devoid of anything relevant to your experience when using this demo app in your RiftDK. You have to experience it to have ANY clue about what it does, or why some people think it is so cool. Looking at the source code shows just how simple it really is (after removing all the mandatory Windows "scaffolding" cruft, that is).

And be sure not to forget this:
AngelJ wrote:Note: Disable desktop composition (aero) for best performance.
You can find my previous version of this app (under its previous name) here:
http://www.mtbs3d.com/phpBB/viewtopic.p ... 61#p120101

EDIT: When viewing the background, if you hold your head VERY STILL, you can stop the "whole pixel" jumps in head tracking. This program does not do subpixel rendering, so everything is aligned to whole-pixel integer boundaries. You can notice little jumps in that high-contrast "algorithmic art" background when it shifts a pixel in any direction. This can be avoided with antialiasing (spreading a pixel across multiple pixels, making it less sharp), and drawing the screen using head tracking accurate to a fraction of a pixel, but that is not as simple and this is just a simple demo.
You do not have the required permissions to view the files attached to this post.
Last edited by geekmaster on Fri Apr 19, 2013 10:17 am, edited 3 times in total.
calebkraft
One Eyed Hopeful
Posts: 31
Joined: Tue Aug 28, 2012 6:15 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by calebkraft »

Just downloaded it and tried it. Still much slower than the one with no background. My mouse is choppy and the patterns flicker as I move my head.

It is neat to look at, but I'd say ditch the patterns unless you can smooth things back out.
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

calebkraft wrote:Just downloaded it and tried it. Still much slower than the one with no background. My mouse is choppy and the patterns flicker as I move my head.

It is neat to look at, but I'd say ditch the patterns unless you can smooth things back out.
Hmm... This is extremely fast on my computer. Did you remember to turn of the Aero desktop. Aero requires alpha channel READS from the video card, and slows stuff down when we are trying to read the desktop image from that card at the same time.

As AngelJ said after he saw my recommendation, turning off Aero desktop compositing made a huge difference for him. Of course, you lose your cool glass-like GUI effects, but you can turn it on again later. Now we need to learn how to turn off Aero glass effects from our program while it runs, like some Remote Desktop apps do... But for now, just select the "Simple Desktop" theme for your desktop.

As I mentioned in my previous EDIT, the patterns flicker a little as the render to the next nearest pixel position (no anti-aliasing). With this relative low resolution spread over such a large FoV, you can easily see single-pixel movements. Is that what you are seeing, or is there some other detraction that I am not seeing on my computer?
calebkraft
One Eyed Hopeful
Posts: 31
Joined: Tue Aug 28, 2012 6:15 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by calebkraft »

I'm guessing you're on a decent desktop.

For this, I'm using my macbook pro which has the intel hd 3000 video chipset. I have a big beefy desktop machine I haven't tested this on.

However, your one that you posted (64mm static) runs completely smoothly while this one has a choppy mouse on my laptop.
RoTaToR
Cross Eyed!
Posts: 135
Joined: Sun Aug 26, 2012 5:45 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by RoTaToR »

It it a fix sphere with a <fix> "picture".

But in Front of me - 45°left and 45° right // also up/down - is a window of <moving> "picture".

The "picture" are some pixels...

I found the mouse curser on the top.

Should i see a Real Desktop with background and icons? ^^
2EyeGuy
Certif-Eyable!
Posts: 1139
Joined: Tue Sep 18, 2012 10:32 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by 2EyeGuy »

Can't you just right click the exe, and change the compatibility settings? That should turn it off and on automatically when you run and exit (or crash) the program.
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

calebkraft wrote:I'm guessing you're on a decent desktop.

For this, I'm using my macbook pro which has the intel hd 3000 video chipset. I have a big beefy desktop machine I haven't tested this on.

However, your one that you posted (64mm static) runs completely smoothly while this one has a choppy mouse on my laptop.
Okay, try this "No Background" version. I commented out the background pixel effects. It still draws a black rectangle before copying the desktop, to keep the background clean.

This SHOULD be faster than the 64mm one, because it no longer reads VRAM twice per frame. It is quite fast for me.

I want to downscale the desktop too, so it takes less FoV (but so that it is still acceptably readable).
GMsphere-1bNB.zip
You do not have the required permissions to view the files attached to this post.
tbowren
One Eyed Hopeful
Posts: 22
Joined: Fri Jan 25, 2013 12:29 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by tbowren »

Tested the background version with aero off, back to back with desktope and its about half of the frame rate.

will test noBG next.


OK it's much faster with the noBG version. Back to back with Destope I can not tell a difference.
Last edited by tbowren on Fri Apr 19, 2013 10:05 am, edited 1 time in total.
calebkraft
One Eyed Hopeful
Posts: 31
Joined: Tue Aug 28, 2012 6:15 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by calebkraft »

Yep, much smoother. Looks like it is just a horsepower issue.

oh, btw, yeah I have aero off. I turned it off immediately when I loaded windows on this thing. It is pretty, but I planned on doing a tiny bit of level editing in udk and some 3d modelling so I needed all the performance possible.
RoTaToR
Cross Eyed!
Posts: 135
Joined: Sun Aug 26, 2012 5:45 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by RoTaToR »

noBG is totaly black. I sit in the dark.

On the left side are dancing mouse cursers.

Would like to know, whether i see what you see?!

PS: both versions are fast, but i believe something doesnt work how it should
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

tbowren wrote:Tested the background version with aero off, back to back with desktope and its about half of the frame rate.

will test noBG next.
Half the framerate of the "64mm" version?

Hmm. The new one really runs FASTER than 64mm one on my hardware, even with the background pixel effects. I have a GX265 on Win8 (core i7-3770K, 16GB RAM installed).

I thought that reading VRAM once and writing twice should be faster than reading it twice and writing once like the original version. Also, I moved all the creating and destroying of windows structures outside the timer callback, because they can be reused.

It seems horribly strange that those things would slow it down instead of speeding it up. But then I am now clearing the background with a Windows GDI rectangle call. Perhaps that is the problem. I will remove it now so you guys can speed test it (but it will leave trash on the unused background).
GMsphere-1cNC.zip
This version attached above is a "No Clear" version that leaves desktop portions behind as you turn your head. It has no GDI box drawing call. Is it faster for you guys? How does it compare to the "64mm" version (withough the optimizations)?

Do you have an antivirus program sandboxing it in an isolation layer? Mine is really fast.

These attachments are just test versions. I will update the first post when we have something that works well for many people.
You do not have the required permissions to view the files attached to this post.
calebkraft
One Eyed Hopeful
Posts: 31
Joined: Tue Aug 28, 2012 6:15 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by calebkraft »

RoTaToR, you might have your display set up incorrectly.

Geekmaster, it might be a good idea to put some simple instructions on how to intialize this in the first post.


step 1. switch monitor to "extend" instead of duplicate. (then apply)
step 2. move 2nd monitor, which is your rift, above the first (then apply)
step 3. place rift on forehead
step 4. center and level your head and double click the executable.
step 5. lower rift onto eyes and see glorious desktop.


when the program initializes, it takes the position of the rift into account. with it on your forehead, and the screens set up with one on top of the other, it brings your primary screen into your view when you lower it. Your rift screen is useless in this simulation and looks like a repeating mirror.
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

calebkraft wrote:Geekmaster, it might be a good idea to put some simple instructions on how to intialize this in the first post.
I quoted your instructions in the first post. Thanks!

If it is a horsepower issue, I will need to setup a DIBSection for the framebuffer so I can get direct access to the bitmap. Then I can clear it with memset() or ZeroMemory()...

The original version kept creating and destroying it every timer tick (62.5Hz), which automatically zeroed it out on creation (but was wasteful just the same, when it is recommended practice to reuse those structures).

Sad that using a faster method required adding a horribly inefficient GDI call (quick and dirty), until I get around to using direct bitmap access to the framebuffer. The problem is that WINAPI programs get really hairy really fast, so do not make very good tutorials or demos, when source code is provided.

My other RiftDK code was using SDL, but that requires the RiftDK to be the primary monitor, and this way does not... Tradoffs... Simplicity or restrictions. Always choices to make...

Anyway, that "No Clear" version sure looks ugly when the desktop doesn't fill your FoV, doesn't it? Redundant Windows structure create and destroy was faster than a GDI box draw erasing, but neither way is the "right" way. I just need to dig out my old DIBSections code. THEN we can have really fast and really cool background pixel effects, even on slower hardware.

Which reminds me, I should probably setup one of my old boxes to test RiftDK code on. Perhaps a Q6600, or even older (I still have functional boxes going back to 386). I think I will use a Q6600 with a GTX8800 video card for my "low end" test box... Any reason to support even older hardware, like a P4? I could dig out some of my old Dell GX270 boxes...
RoTaToR
Cross Eyed!
Posts: 135
Joined: Sun Aug 26, 2012 5:45 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by RoTaToR »

thx@calebkraft

I see the Desktop ... a 200" Monitor bind around my head... :D :D ;)

All Versions (GMsphere1a / GMsphere-1bNB & GMsphere-1cNC) work. (I see the Desktop). But only once i get the mouse working (i can click what i want)?

The speed? puh, nothing is really slow, but 1bNB is smoother than 1a. 1cNC is a bit wired (the repeat of the border) - so i like the 1bNB.

PS now i get the mouse the second time working. There a 2 cursers. One is fake - the other is working... ^^
calebkraft
One Eyed Hopeful
Posts: 31
Joined: Tue Aug 28, 2012 6:15 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by calebkraft »

RoTaToR wrote:thx@calebkraft

I see the Desktop ... a 200" Monitor bind around my head... :D :D ;)

All Versions (GMsphere1a / GMsphere-1bNB & GMsphere-1cNC) work. (I see the Desktop). But only once i get the mouse working (i can click what i want)?

The speed? puh, nothing is really slow, but 1bNB is smoother than 1a. 1cNC is a bit wired (the repeat of the border) - so i like the 1bNB.

PS now i get the mouse the second time working. There a 2 cursers. One is fake - the other is working... ^^
No problem. sometimes your mouse will end up on the "top" monitor and that gets screwy. Any time I end up hunting the mouse, I bring it all the way down to the task bar first.
calebkraft
One Eyed Hopeful
Posts: 31
Joined: Tue Aug 28, 2012 6:15 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by calebkraft »

geekmaster wrote: Which reminds me, I should probably setup one of my old boxes to test RiftDK code on. Perhaps a Q6600, or even older (I still have functional boxes going back to 386). I think I will use a Q6600 with a GTX8800 video card for my "low end" test box... Any reason to support even older hardware, like a P4? I could dig out some of my old Dell GX270 boxes...
Well, you've got to draw the line somewhere for this. I mean, it would be neat to see you running the rift on a c64, but it isn't really worth the effort.

I think the smartest possible approach would be to just add whatever features I personally want, and assure that everything is working perfectly on my weakest machine, since I am in fact the center of the universe and no one else matters.
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

RoTaToR wrote:... PS now i get the mouse the second time working. There a 2 cursers. One is fake - the other is working... ^^
Thanks for the reports. The mouse is drawn into the RiftDK framebuffer by the code. The "real" mouse is (usually) somewhere outside the RiftDK, on your main desktop display. But you CAN move it into the RiftDK screen (extended desktop), in which case you will see to two mice (the real one and the copy), but with both mice in the RiftDK, there is nothing to click (unless there are stray windows hidden under the copy of the main desktop).

I will get access directly to the raw pixels in the framebuffer (DIBSection) soon, so I can do cool effects without the slowdown, and I will test it on older hardware. The question is "how old" do we want to support?

This code would be MUCH faster if we only displayed synthetic content (CGI), and not trying to copy portions of the Windows desktop that resides inside the video card VRAM...

I want to add a VNC remote framebuffer client to this so we can have windows on our sphere that display desktops on remote computers too. And no reason to display the desktop, when we can spread all the windows buried under the desktop all over the sphere so we can see them all. Of course, downsampling is needed so they do not remain HUGE except when we want them to be. Resizing would be easy with Razer Hydras. Time to get the sixense libs imported into this too...

This "inner sphere" is just a framework on which to hand all manner of virtual video windows, some to video sources, some to remote desktops, and more cool stuff we have not imagined yet...
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

calebkraft wrote:... I think the smartest possible approach would be to just add whatever features I personally want, and assure that everything is working perfectly on my weakest machine, since I am in fact the center of the universe and no one else matters.
Hah! Funny! :lol:

Have you gotten your compiler and OculusVR SDK and sixense libraries installed yet?
calebkraft
One Eyed Hopeful
Posts: 31
Joined: Tue Aug 28, 2012 6:15 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by calebkraft »

I'm not really what you'd call a developer. I can fumble my way through some php/mysql and I can comprehend c++ when I look at it.

I've got the sixsense software installed for the tuscany demo, and I've got UDK installed for doing some level creation. I really just wanted to make some neat environments to explore. Not totally sure if that's what you were asking.
RoTaToR
Cross Eyed!
Posts: 135
Joined: Sun Aug 26, 2012 5:45 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by RoTaToR »

because of the master of the universe has no c64, it seems legit to use the "Q6600 with a GTX8800"! q.e.d.

It is amazing! - But the Desktop is a bit tooooooo huge.

* Idea: Maybe there will be a funktion for Resize proportional up/down. I would like to try something with 60-80%.
* Idea: Maybe >a hint< whether the curser is left/right/up/down.
* Idea: Multimonitor-Setup 360°x360°
* Problem: at the upper end the desktop mirrors..

I watched a little movie with GMsphere (Full-Screen) and it was like they sitting in front of me... ^^
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

I just tried this on my wife's old Core2 (not Duo) laptop with its onboard slow video. Without background pixel effects it was quite fast (even with the NB version that clears the background to black). But any pixel effects (i.e. SetPixel() function calls), and it only did about TWO FPS!

So, any use of SetPixel() is a huge mistake (which I realized before, but it was a quick hack and it worked surprisingly well on MY MODERN hardware). But 2 FPS on the laptop? Not so good...

I will for sure use direct access to the bitmap to get the speed I need...

It is rather cool that the RiftDK lens radial distortion (with head tracking) wraps movies and stuff all around you, isn't it? However, when I add window downsample resizing, I might as well add a LITTLE radial distortion correction, so the corners look a little less curved. We still want to maintain the spherical curvature, and the one-to-one pixel mapping, as much as possible for this app.
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

RoTaToR wrote:... It is amazing! - But the Desktop is a bit tooooooo huge.
Yeah, I get neck strain trying to look at the top of my desktop screen in the RiftDK! Actually, at the distance it appears, it is more like a 200-feet diagonal than 200-inches!
RoTaToR wrote:* Idea: Maybe there will be a funktion for Resize proportional up/down. I would like to try something with 60-80%.
* Idea: Maybe >a hint< whether the curser is left/right/up/down.
* Idea: Multimonitor-Setup 360°x360°
I plan to do all those things. I already have code that identifies all the multiple monitor names and locations. I can reposition them in VR space so differently from how Windows has them arranged. And I have some DIBSection StretchBlit code I plan to import. It uses the raw pixel bitmap, so I need code from it anyway. And adding a cursor hint to the screen edges (or a "snap to screen center" function hotkey) sounds like a good idea.
RoTaToR wrote:I watched a little movie with GMsphere (Full-Screen) and it was like they sitting in front of me... ^^
Amazingly immersive isn't it, even without all the fancy pre-warp lens correction. In fact, it is the lens distortion that wraps it around us like this, so why WOULD we want to correct it anyway (for this spherical "wall of monitors" app)?

EDIT: Instead of a "wall of monitors", this is more like a "ball of monitors" (with YOU in the middle). But because it is seamless, and you see nothing but pixels, I called my latest project the "PixelBall"...
Last edited by geekmaster on Sun Apr 21, 2013 4:54 pm, edited 2 times in total.
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

calebkraft wrote:... I am in fact the center of the universe and no one else matters.
caleb-of-the-universe.jpg
:lol:
You do not have the required permissions to view the files attached to this post.
calebkraft
One Eyed Hopeful
Posts: 31
Joined: Tue Aug 28, 2012 6:15 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by calebkraft »

oh man, I didn't even know there were any pictures of me on the internet with my shirt off. Oh well, I guess my secret physique has been revealed.
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

I have stopped developing GMsphere in its current form, and now I have imported the "idea" into my old substantial "pure C" code that I have written over the past decades. Much of it (most of it, in fact) is still relevant and useful to me. I plan to use a lot of it in my Rift demos and apps.

Anyway, you can look forward to some interesting variations on this "ultra-simple Windows desktop in VR" hack/theme (based on Deskope by AngelJ). And I have some interesting animated backgrounds for all the "unused" space between and around all the multi-monitor "desktops" too. I have multi-monitor support working, but my goal is to also allow moving individual windows off the desktop and out onto the inside of my 360-degree spherical surround "pixel ball" VR display space.

The name of my new project will be "PixelBall". Just put on your RiftDK, climb into my "pixel ball", and let me show you something interesting like nothing you have ever seen before. Coming soon to a RiftDK near your...
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

At http://www.mtbs3d.com/phpBB/viewtopic.php?f=140&t=17191&p=120820#p120813, Ericshelpdesk wrote:
geekmaster wrote: Why not use a monitor along with your Rift? You could use a laptop PC...
Because being able to set some arbitrary huge resolution that there is no way my laptop monitor could handle would be a huge advantage in virtual space. I don't just want the little monitor I have, I want more monitor to use!
I am already doing that in my new code. You do not need physical pixels on LCD screens to back up all the visible windows inside VR. I can even copy windows buried under stacks of other windows on your single display, out around the inside of my pixel ball in VR. I even have an (unfinished) "explode" function that scatters all my open (and minimized) windows (on all of my multiple monitors) evenly around my "PixelBall". You can move and resize the windows in VR space. I save their original positions so I can put them back (not hidden offscreen somewhere) when my apps are closed.

Most of my code is just "proof of concept" demos right now. I want to clean it up a bit more before I release my "virtual office" space (one of my "PixelBall" apps, but the entertainment apps are more fun). I have some really awesome stuff in progress here. I bought my RiftDK for business use (tax deductable), so of course I need to develop the business apps for which I purchased it. But my software tools are fun to play with too...
:D
User avatar
jayoh
Cross Eyed!
Posts: 110
Joined: Tue Nov 01, 2011 8:45 am

Re: GMsphere (demo based on Deskope from AngelJ)

Post by jayoh »

1cNC runs smoother on my machine compared to 1a, and marginally better than NB. quite a bit uglier though!
User avatar
Ericshelpdesk
Cross Eyed!
Posts: 141
Joined: Tue Mar 19, 2013 11:41 am

Re: GMsphere (demo based on Deskope from AngelJ)

Post by Ericshelpdesk »

geekmaster wrote:
At http://www.mtbs3d.com/phpBB/viewtopic.php?f=140&t=17191&p=120820#p120813, Ericshelpdesk wrote:
geekmaster wrote: Why not use a monitor along with your Rift? You could use a laptop PC...
Because being able to set some arbitrary huge resolution that there is no way my laptop monitor could handle would be a huge advantage in virtual space. I don't just want the little monitor I have, I want more monitor to use!
I am already doing that in my new code. You do not need physical pixels on LCD screens to back up all the visible windows inside VR. I can even copy windows buried under stacks of other windows on your single display, out around the inside of my pixel ball in VR. I even have an (unfinished) "explode" function that scatters all my open (and minimized) windows (on all of my multiple monitors) evenly around my "PixelBall". You can move and resize the windows in VR space. I save their original positions so I can put them back (not hidden offscreen somewhere) when my apps are closed.

Most of my code is just "proof of concept" demos right now. I want to clean it up a bit more before I release my "virtual office" space (one of my "PixelBall" apps, but the entertainment apps are more fun). I have some really awesome stuff in progress here. I bought my RiftDK for business use (tax deductable), so of course I need to develop the business apps for which I purchased it. But my software tools are fun to play with too...
:D
Looking forward to it! The only thing I would wish for on top of everything you've already discussed is to throw a vertical distortion on it so that it turns into a cylinder instead of a sphere and some hot keys to re-center the screen wherever you want it in space (push button, now that's the center). If you can pull that off, I fully intend to spend a day at work inside my rift and let people wonder what I'm really up to.
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

Ericshelpdesk wrote:Looking forward to it! The only thing I would wish for on top of everything you've already discussed is to throw a vertical distortion on it so that it turns into a cylinder instead of a sphere and some hot keys to re-center the screen wherever you want it in space (push button, now that's the center). If you can pull that off, I fully intend to spend a day at work inside my rift and let people wonder what I'm really up to.
I was considering a very tall cylinder, with an elevator control you sit on (no motion sickness that way, I think). With an opening at the top that opens into a dome. When you exit the top of the cylinder you are in the Dome (which is more appropriate for viewing immersive video content). The cylinder is better for hanging photos and documents on, because there is a lot more space, and cylinders can be connected to more spheres, like being in a Descent game, except where you populate the pixels on the walls with your digital media and document content. I am just starting with the "PixelBall" because it is so easy. Special warping can be done later.

And regarding the demos in this thread, they do Windows GDI SetPixel calls, which are notoriously inefficient. I have replaced them with direct access to the raw pixels in the framebuffer (bitmap), so they should work on less powerful computers than what I am using. I will re-do them using the new "low overhead" methods. The demos I uploaded above work great on my computer, but they do load down one of my CPU cores. I uncoupled animation updates from head tracking in my new demos, so that the RiftDK screen updates are at 60Hz so you can look around smoothly, while the animated background content updates at 24Hz (movie theater speed) so it does not depend as much on CPU horsepower. I chose a 24Hz game state update rate because we are accustomed to that framerate in our movie theaters, and it seems to work well for liesurely content. The only thing that needs plenty of speed is head tracked video updates (not animated content updates). You can read more about this in my "PTZ Tweening" thread.
User avatar
Ericshelpdesk
Cross Eyed!
Posts: 141
Joined: Tue Mar 19, 2013 11:41 am

Re: GMsphere (demo based on Deskope from AngelJ)

Post by Ericshelpdesk »

geekmaster wrote:
Ericshelpdesk wrote:Looking forward to it! The only thing I would wish for on top of everything you've already discussed is to throw a vertical distortion on it so that it turns into a cylinder instead of a sphere and some hot keys to re-center the screen wherever you want it in space (push button, now that's the center). If you can pull that off, I fully intend to spend a day at work inside my rift and let people wonder what I'm really up to.
I was considering a very tall cylinder, with an elevator control you sit on (no motion sickness that way, I think). With an opening at the top that opens into a dome. When you exit the top of the cylinder you are in the Dome (which is more appropriate for viewing immersive video content). The cylinder is better for hanging photos and documents on, because there is a lot more space, and cylinders can be connected to more spheres
You're thinking about this too hard.

Right click -> Screen shape->
>Rectangle
>Octagon (think multi-monitor style wrap around)
>Cylinder
>Sphere

>-blink-<
New screen shape!
If I'm working, I don't want to have to move an avatar to the correct screen to do what I'm doing. I just want to see my spreadsheets laid out over there, and my VBA macros I'm working on up there, and my SQL manager laid out over there, and my inbox up there, and my communicator messages all bunched up down there.

Then I want to take it into work and show off my new desktop interface to the co-workers.

Another cool feature that will help out with such a huge screen is to automatically move the mouse to always be inside the keyhole of where you're looking.

My problem is that when I'm at home, I've got a couple of huge monitors to work from. At work I'm left with the little 15" built in on the laptop. I want to build myself a better forge to put reports together that can go with me wherever I go.




That and Skyrim running at 60 FPS without shadow creep.
User avatar
AngelJ
Cross Eyed!
Posts: 102
Joined: Wed Jul 06, 2011 9:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by AngelJ »

Finally had a chance to try this. Very cool!
RoTaToR
Cross Eyed!
Posts: 135
Joined: Sun Aug 26, 2012 5:45 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by RoTaToR »

After a weekend of testing my favorite GMsphere-1bNB... Is there a reasion why the app freeze during watching movies?

Normal screen runs ok - but the "virtual mirror/Desktop" stops. In the Picture you can see little cuts. But the Picture stays (no bluescreen / no programclose or whatever).
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

RoTaToR wrote:After a weekend of testing my favorite GMsphere-1bNB... Is there a reasion why the app freeze during watching movies?

Normal screen runs ok - but the "virtual mirror/Desktop" stops. In the Picture you can see little cuts. But the Picture stays (no bluescreen / no programclose or whatever).
I could be caused by the CPU getting overloaded. Try running video content that is lower bandwidth (i.e. a smaller video filesize). You can transcode videos to lower bandwidth with many different free software tools.

Meanwhile, I am working on a new software framework for this app that should use a lot less CPU overhead.

It takes a lot of CPU power to render video to the video card, and then suck that data back out of the video card (i.e. repetitive screen captures) to be sent to the RiftDK video display. It would be MUCH more efficient to modify a video player (such as mplayer or ffmpeg) to render directly to the RiftDK, with no horribly inefficient screen captures needed.

This super simple elegant little app (thanks AngelJ!) is a lot like sitting a bit too close to a tremendously huge (world-filling) movie screen, isn't it?
Mystify
Certif-Eyed!
Posts: 645
Joined: Fri Jan 11, 2013 5:10 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by Mystify »

Take an office chair
add a table to the front which can swing into place
put wireless mouse/keyboard on this table.

You can now spin to any arbitrary direction and keep your interface properly positioned in front of you.
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

Mystify wrote:Take an office chair
add a table to the front which can swing into place
put wireless mouse/keyboard on this table.

You can now spin to any arbitrary direction and keep your interface properly positioned in front of you.
I would love to ride in this while wearing my Rift:

Image

Under computer control, you could program it to just spin, or to stay within a programmable "safe zone".

Of course, a DIY method (office chair with motor to spin it) would be more affordable.
User avatar
Ericshelpdesk
Cross Eyed!
Posts: 141
Joined: Tue Mar 19, 2013 11:41 am

Re: GMsphere (demo based on Deskope from AngelJ)

Post by Ericshelpdesk »

http://www.youtube.com/watch?v=aTpCheX46wI
User avatar
Randomoneh
Binocular Vision CONFIRMED!
Posts: 227
Joined: Wed Oct 17, 2012 12:42 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by Randomoneh »

While we're talking about GUI - anyone knows what is the framerate of a Windows GUI? There is a tearing when we move a window around, meaning there is no vsync, but - how many frames is GPU pushing towards a display?
This member owns things.
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

Because we are not using pre-warp in this app, viewing content what was filmed with a fisheye lens should look GREAT.

I strongly recommend watching this live-action FPS video in GMsphere:

[youtube-hd]www.youtube.com/watch?v=Rgox84KE7iY[/youtube-hd]

Only the song and its title and lyrics have "naughty words". The content is no more violent than an FPS video game, but other than the thumbnail, it contains no "adult" content. You may want to turn down the audio for family (or work) viewing.
User avatar
AngelJ
Cross Eyed!
Posts: 102
Joined: Wed Jul 06, 2011 9:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by AngelJ »

RoTaToR wrote:After a weekend of testing my favorite GMsphere-1bNB... Is there a reasion why the app freeze during watching movies?

Normal screen runs ok - but the "virtual mirror/Desktop" stops. In the Picture you can see little cuts. But the Picture stays (no bluescreen / no programclose or whatever).
Do you mean you're setting up virtual displays where there's not an actual monitor connected to a video card? If so, this may be because the software is trying to do hardware accelerated rendering. I had this problem with Windows Media Player, Internet Explorer, and some others.
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: GMsphere (demo based on Deskope from AngelJ)

Post by geekmaster »

AngelJ wrote:
RoTaToR wrote:After a weekend of testing my favorite GMsphere-1bNB... Is there a reasion why the app freeze during watching movies?

Normal screen runs ok - but the "virtual mirror/Desktop" stops. In the Picture you can see little cuts. But the Picture stays (no bluescreen / no programclose or whatever).
Do you mean you're setting up virtual displays where there's not an actual monitor connected to a video card? If so, this may be because the software is trying to do hardware accelerated rendering. I had this problem with Windows Media Player, Internet Explorer, and some others.
Some media players let you select different video rendering methods. It may be worth trying other methods.
Post Reply

Return to “Oculus VR”