Realistically it shouldn't make any real difference to your development efforts given that the vast majority of all tools and software will run on both versions (for the most part). Although, a VR enabled UI view for the Win8 modern UI would be pretty compelling ..... hmmm....
Although, a VR enabled UI view for the Win8 modern UI would be pretty compelling ..... hmmm....
The Win8 start screen UI removed logic and replaced it with coloured boxes in my mind
I personally prefer working on Win7, but I've heard of many people who have used Win8 and have enjoyed it. I don't think Win8 is particularly good for developers compared to Win7 but at the same time it's not a complete disaster either. I'm pretty neutral.
Heh... yeah, just thinking floating live tiles with relevant app info might be pretty cool and head tracking to look around all my groups of live tiles would look cool too :ugeek: .
I already tried to build and test a Basic Metro App using the Oculus SDK (libOVR)
What i did was compiling "libOVR" using "VS2012 for Windows Desktop"->create a new Basic Direct3D example App using the fields of the "OculusRoomTiny"-Example in "VS2012 for Windows 8"->test this example App using "Windows App Cert Kit 2.2"
The example app did run fine but failed in the Certification Test due to calls to "API InitializeCriticalSection in kernel32.dll" and "API LoadLibraryW in kernel32.dll". Both calls are obviously done by "SensorFusion"-Class.
That simply means that you currently can build a Windows 8-Metro-App but it wouldnt be certified by Microsoft.
Would be great if the Oculus team could chime in and answer if they think they can make the SDK compatible for RT so that we are able to sell our Rift games in the Windows 8 store.
That's a good point and it would be a great platform to get some simpler and less costly projects in to the "mainstream" long term .
You absolutly did hit the Point.. the Windows 8/Metro app market place is the perfect one to do "smaller" applications like a 3D-Cinema, a "Google Earth- Rift- Simulator" and Stuff like that...
We are mostly using Windows 7 here in the office, but I believe 8 should also work.
Yes, 8 works. But the point was that the Oculus libs are using calls that are not allowed for Metro apps if you want to submit them to the Win8 store. They don't pass the so-called WACK test.
The question is if Oculus can modify their SDK so that it will pass the WACK test on Win8 so we have a chance to submit to the store.
Lock::Lock(unsigned spinCount)
{
// Try to load function dynamically so that we don't require NT
// On Windows NT we will use InitializeCriticalSectionAndSpinCount
static bool initTried = 0;
static Function_InitializeCriticalSectionAndSpinCount pInitFn = 0;
if (!initTried)
{
HMODULE hmodule = ::LoadLibrary(OVR_STR("kernel32.dll"));
pInitFn = (Function_InitializeCriticalSectionAndSpinCount)
::GetProcAddress(hmodule, "InitializeCriticalSectionAndSpinCount");
initTried = 1;
}
// Initialize the critical section
if (pInitFn)
pInitFn(&cs, spinCount);
else
::InitializeCriticalSection(&cs);
}
In Winrt you can't call LoadLibrary, InitializeCriticalSectionAndSpinCount or InitializeCriticalSection.
GetProcAddress still works (you need to get the library handle from LoadPackageLibrary, which won't load kernel32).
There's InitializeCriticalSectionEx (which has a spincount). But it's only available on Vista and above.
Then again, windows 8 metro apps can't run on older windows anyway, so if you build ovr for windows 8 metro then a define could replace all that code with InitializeCriticalSectionEx instead of trying to decide at runtime if the function is there.
From ovr_atomic.cpp:
In Winrt you can't call LoadLibrary, InitializeCriticalSectionAndSpinCount or InitializeCriticalSection.
GetProcAddress still works (you need to get the library handle from LoadPackageLibrary, which won't load kernel32).
There's InitializeCriticalSectionEx (which has a spincount). But it's only available on Vista and above.
Then again, windows 8 metro apps can't run on older windows anyway, so if you build ovr for windows 8 metro then a define could replace all that code with InitializeCriticalSectionEx instead of trying to decide at runtime if the function is there.
Thx a ton, man. Without you i would have possibly searched hours for that ;-) Created a new Topic in the General Development section posting the code.
Does anyone actually use Metro? I use windows 8 but just immediately installed Start 8 to make it look the same as windows 7. Windows 8 and Windows 7 are pretty much the same.
I don't use win 8 and if I did I wouldn't use metro (I had to use it once on my aunty's laptop to install a new printer, horrible experience), but if you want to sell your stuff on the microsoft app store then you need to support it.
Comments
The Win8 start screen UI removed logic and replaced it with coloured boxes in my mind
I personally prefer working on Win7, but I've heard of many people who have used Win8 and have enjoyed it. I don't think Win8 is particularly good for developers compared to Win7 but at the same time it's not a complete disaster either. I'm pretty neutral.
Edit: Fixing the quote O.o
Edit 2#: Fixed
What i did was compiling "libOVR" using "VS2012 for Windows Desktop"->create a new Basic Direct3D example App using the fields of the "OculusRoomTiny"-Example in "VS2012 for Windows 8"->test this example App using "Windows App Cert Kit 2.2"
The example app did run fine but failed in the Certification Test due to calls to "API InitializeCriticalSection in kernel32.dll" and "API LoadLibraryW in kernel32.dll". Both calls are obviously done by "SensorFusion"-Class.
That simply means that you currently can build a Windows 8-Metro-App but it wouldnt be certified by Microsoft.
Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
Yes, 8 works. But the point was that the Oculus libs are using calls that are not allowed for Metro apps if you want to submit them to the Win8 store. They don't pass the so-called WACK test.
The question is if Oculus can modify their SDK so that it will pass the WACK test on Win8 so we have a chance to submit to the store.
Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
GetProcAddress still works (you need to get the library handle from LoadPackageLibrary, which won't load kernel32).
There's InitializeCriticalSectionEx (which has a spincount). But it's only available on Vista and above.
Then again, windows 8 metro apps can't run on older windows anyway, so if you build ovr for windows 8 metro then a define could replace all that code with InitializeCriticalSectionEx instead of trying to decide at runtime if the function is there.
Hardware: Threadripper 1950x, MSI Gaming Trio 2080TI, Asrock X399 Taich
Headsets: Wrap 1200VR, DK1, DK2, CV1, Rift-S, GearVR, Go, Quest, Quest 2, Reverb G2
Thx a ton, man. Without you i would have possibly searched hours for that ;-) Created a new Topic in the General Development section posting the code.
Hardware: Threadripper 1950x, MSI Gaming Trio 2080TI, Asrock X399 Taich
Headsets: Wrap 1200VR, DK1, DK2, CV1, Rift-S, GearVR, Go, Quest, Quest 2, Reverb G2