Windows8, WinRT, WOA & Metro

Discussion area about developing or extending OGRE, adding plugins for it or building applications on it. No newbie questions please, use the Help forum for that.
JDX_John
Gnome
Posts: 397
Joined: Sat Nov 08, 2008 1:59 pm
x 2

Windows8, WinRT, WOA & Metro

Post by JDX_John »

Since a proper RC for Win8 is now out, I'd be very interested to hear from some of the experienced Ogre devs about what this means for Ogre. A few points to get discussion rolling and clear up some of my confusion...

1)Ogre as it is now should work just fine on Win8 x86/64 systems in desktop mode?

2)Ogre as it is now won't work in Metro mode, we need a WinRT wrapper?

3)What's the deal with getting Ogre able to run on ARM-based Windows 8 (Windows On ARM aka WOA) - are native C++/WinRT apps even supported on WOA? Will we simply end up with two additional build-targets, WinRT-x86 and WinRT-ARM, or is it more complex that that?

4)How does W8 tie in with Windows Phone 7 as far as Ogre is concerned... are they similar enough to be combined or are they separate?

I thought I saw mention of Windows Phone here before, has anyone done any tests/work on either WP7 or W8 yet? Are they planning to, or going to wait and see if the OS succeeds?
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: Windows8, WinRT, WOA & Metro

Post by Kojack »

How does W8 tie in with Windows Phone 7 as far as Ogre is concerned... are they similar enough to be combined or are they separate?
Windows Phone 7 has no native app support (it may eventually, but not yet). The only way to get ogre on it would be a complete rewrite in c# (something like axiom, not a wrapper like mogre).
Unity and Unreal Engine aren't available for windows phone 7 for the same reasons.
3)What's the deal with getting Ogre able to run on ARM-based Windows 8 (Windows On ARM aka WOA) - are native C++/WinRT apps even supported on WOA? Will we simply end up with two additional build-targets, WinRT-x86 and WinRT-ARM, or is it more complex that that?
I would assume it would be pretty easy. But it depends on what the render system is like on win 8 arm. It's going to have to be opengles based, but will microsoft wrap it in some way or can ogre's opengles render systems work on it directly? No idea, I haven't heard much about win 8 arm yet.
Plus what about win32 compatibility? Parts of ogre might need changing (not much though). Hmm, what if win 8 arm is just metro and has no pre-metro style support? It might be purely winrt based.
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Windows8, WinRT, WOA & Metro

Post by Klaim »

I would assume it would be pretty easy. But it depends on what the render system is like on win 8 arm. It's going to have to be opengles based, but will microsoft wrap it in some way or can ogre's opengles render systems work on it directly? No idea, I haven't heard much about win 8 arm yet.
Plus what about win32 compatibility? Parts of ogre might need changing (not much though). Hmm, what if win 8 arm is just metro and has no pre-metro style support? It might be purely winrt based.

Doesn't Windows 8 keep the same interfaces whatever the architecture? I'm guessing just compiling for Arm and using DirectX(11?) would be enough.

But i might be missing something?
JDX_John
Gnome
Posts: 397
Joined: Sat Nov 08, 2008 1:59 pm
x 2

Re: Windows8, WinRT, WOA & Metro

Post by JDX_John »

Kojack wrote: Hmm, what if win 8 arm is just metro and has no pre-metro style support? It might be purely winrt based.
I'm fairly sure all WOA apps (indeed all metro apps) have to be WinRT and the desktop is not available (well it is, but only for special cases like IE and Office).

I did assume WOA would still be D3D, but you raise a good point on that matter. Are you thinking it has to be OpenGL-based simply because all ARM-based systems are, and therefore we have no D3D ARM drivers?
User avatar
Wolfmanfx
OGRE Team Member
OGRE Team Member
Posts: 1525
Joined: Fri Feb 03, 2006 10:37 pm
Location: Austria - Leoben
x 99
Contact:

Re: Windows8, WinRT, WOA & Metro

Post by Wolfmanfx »

Nope WP8 will aupport DX11 (some MS guy talked in /build video about it) and native support will be there from the beginning (there are some signs that the XNA kits will not get an update any time soon for WP8).
So it should be not a big deal to get up and running on WP8 but who knows exactly until the realease it.
JDX_John
Gnome
Posts: 397
Joined: Sat Nov 08, 2008 1:59 pm
x 2

Re: Windows8, WinRT, WOA & Metro

Post by JDX_John »

Did the guy specifically mention DX on ARM? There's (understandably) quite a lot of confusion even on techy sites exactly what WOA does and doesn't do.

Actually - does WinRT wrap DX completely, so we effectively need an Ogre WinRT rendersystem? That would make x86/ARM much more transparent for developers.
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: Windows8, WinRT, WOA & Metro

Post by Kojack »

Hmm, wikipedia says the series 5 power vr gpu (used in most phones and tablets, other than tegra ones of course) is directx 10.1 compatible (shader model 4.1).

Slashgear says windows 8 arm will support directx 10 gaming.
But it also says that all software installs (metro or normal desktop) will be restricted to the windows store (same as metro apps for windows 8 x86).

Windowsfordevices.com says the omap 4470 cpu provides windows 8 arm with directx 9. The 4470 is a series 5 powervr gpu though, so it should do better than that if wikipedia is right.
JDX_John
Gnome
Posts: 397
Joined: Sat Nov 08, 2008 1:59 pm
x 2

Re: Windows8, WinRT, WOA & Metro

Post by JDX_John »

But is being hardware compatible with DX enough, or do we also need an ARM driver which exposes this?
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: Windows8, WinRT, WOA & Metro

Post by Kojack »

Yep, we'd need ms to release a dx10 sdk for arm.

Windows Mobile 2005 had directx, so they've done it for arm before. But wm2005 is far more open (they let us code in native c++) than windows phone 7, MS are becoming more like apple.
User avatar
Zonder
Ogre Magi
Posts: 1168
Joined: Mon Aug 04, 2008 7:51 pm
Location: Manchester - England
x 73

Re: Windows8, WinRT, WOA & Metro

Post by Zonder »

Metro only allows access to certain native apis, I really doubt Microsoft will allow access to open gl.
There are 10 types of people in the world: Those who understand binary, and those who don't...
User avatar
Eugene
OGRE Team Member
OGRE Team Member
Posts: 185
Joined: Mon Mar 24, 2008 4:54 pm
Location: Kraków, Poland
x 41

Re: Windows8, WinRT, WOA & Metro

Post by Eugene »

Port to Windows 8 is already done, repository and dependencies are here:
https://bitbucket.org/eugene_gff/ogre-winrt
https://bitbucket.org/eugene_gff/ogre-d ... cies-winrt
JDX_John
Gnome
Posts: 397
Joined: Sat Nov 08, 2008 1:59 pm
x 2

Re: Windows8, WinRT, WOA & Metro

Post by JDX_John »

Cool :)

Could you summarize the main changes you had to make? It looks like you retained existing D3D11 RenderSystem?
User avatar
Eugene
OGRE Team Member
OGRE Team Member
Posts: 185
Joined: Mon Mar 24, 2008 4:54 pm
Location: Kraków, Poland
x 41

Re: Windows8, WinRT, WOA & Metro

Post by Eugene »

JDX_John wrote:Cool :)

Could you summarize the main changes you had to make? It looks like you retained existing D3D11 RenderSystem?
http://www.ogre3d.org/forums/viewtopic.php?f=4&t=69209
Vrixyz
Gnoblar
Posts: 1
Joined: Tue Oct 30, 2012 5:46 pm

Re: Windows8, WinRT, WOA & Metro

Post by Vrixyz »

Hi, does it mean that this port works on the now released windows 8 ?

And... is it official ?

And... any problems with visual studio 2012 ? (cmake builds projects for visual studio <= 2011)

Thanks for your response.
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: Windows8, WinRT, WOA & Metro

Post by Kojack »

And... any problems with visual studio 2012 ? (cmake builds projects for visual studio <= 2011)
cmake's visual studio 11 is visual studio 2012.
(It's version number 11, but came out in 2012). MS changed the name, but cmake hasn't caught up.
There's been a problem with vs2012 express and cmake, but that should be fixed in the nightly builds of cmake and doesn't hurt vs2012 pro or above.
I use ogre with vs2012 premium and it works fine.
(I'm only on win7 though, no idea about the win8 stuff)
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: Windows8, WinRT, WOA & Metro

Post by Assaf Raman »

Eugene - can you check latest 1.9 and see if it works for you?
Watch out for my OGRE related tweets here.
User avatar
Eugene
OGRE Team Member
OGRE Team Member
Posts: 185
Joined: Mon Mar 24, 2008 4:54 pm
Location: Kraków, Poland
x 41

Re: Windows8, WinRT, WOA & Metro

Post by Eugene »

Assaf Raman wrote:Eugene - can you check latest 1.9 and see if it works for you?
I send PM to you - those fixes are from reading code, I`m not yet compiled it.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: Windows8, WinRT, WOA & Metro

Post by Assaf Raman »

Thanks, merged the patch, I will give high priority to anything you will find.
Watch out for my OGRE related tweets here.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: Windows8, WinRT, WOA & Metro

Post by Assaf Raman »

BTW: Do you plan to have a windows phone 8 version of your product?
Watch out for my OGRE related tweets here.
User avatar
robert_sasu
Google Summer of Code Student
Google Summer of Code Student
Posts: 237
Joined: Mon Apr 02, 2012 11:07 am
x 42

Re: Windows8, WinRT, WOA & Metro

Post by robert_sasu »

This changeset is not really needed, becuase it gives error if you run rain on the particle effects sample on Windows 7 64bits build.

Code: Select all

			mBlendDesc.RenderTarget[0].BlendEnable = TRUE;
-			mBlendDesc.RenderTarget[0].SrcBlend = D3D11Mappings::get(sourceFactor);
-			mBlendDesc.RenderTarget[0].DestBlend = D3D11Mappings::get(destFactor);
-			mBlendDesc.RenderTarget[0].BlendOp = D3D11Mappings::get(op);
-			mBlendDesc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD ;
-			mBlendDesc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_ZERO;
-			mBlendDesc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_ZERO;
+			mBlendDesc.RenderTarget[0].SrcBlend = mBlendDesc.RenderTarget[0].SrcBlendAlpha = D3D11Mappings::get(sourceFactor);
+			mBlendDesc.RenderTarget[0].DestBlend = mBlendDesc.RenderTarget[0].DestBlendAlpha = D3D11Mappings::get(destFactor);
+			mBlendDesc.RenderTarget[0].BlendOp = mBlendDesc.RenderTarget[0].BlendOpAlpha = D3D11Mappings::get(op);
For Windows 7 the correct code is the one that Windows has sended as patch, (Assaf's merge).
Google Summer of Code 2013 Student
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: Windows8, WinRT, WOA & Metro

Post by Assaf Raman »

I am not sure what you mean, do I need to fix anything?
Watch out for my OGRE related tweets here.
User avatar
robert_sasu
Google Summer of Code Student
Google Summer of Code Student
Posts: 237
Joined: Mon Apr 02, 2012 11:07 am
x 42

Re: Windows8, WinRT, WOA & Metro

Post by robert_sasu »

I need to not merge that part of Eugene's last changeset.
Google Summer of Code 2013 Student
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: Windows8, WinRT, WOA & Metro

Post by Assaf Raman »

What?
Watch out for my OGRE related tweets here.
User avatar
robert_sasu
Google Summer of Code Student
Google Summer of Code Student
Posts: 237
Joined: Mon Apr 02, 2012 11:07 am
x 42

Re: Windows8, WinRT, WOA & Metro

Post by robert_sasu »

I was talking about this changeset(pull request): https://bitbucket.org/sinbad/ogre/pull- ... ndows/diff
Google Summer of Code 2013 Student
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: Windows8, WinRT, WOA & Metro

Post by Assaf Raman »

I see, Eugene - can you explain the fix you made to src\RenderSystems\Direct3D11\src\OgreD3D11RenderSystem.cpp ?
Watch out for my OGRE related tweets here.
Post Reply