Metro style apps

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Post Reply
3DModelerMan
Posts: 1691
Joined: Sun May 18, 2008 9:42 pm

Metro style apps

Post by 3DModelerMan »

I've been playing around with the Windows 8 Beta and checking out the dev tools for it. It requires you to use DirectX 11.1, and apps can't get into the store if they run on DirectX 9. Is support for Windows 8 Metro style apps planned for a future release of Irrlicht? I want to write Windows 8 Metro apps, but I don't really want to write a DirectX 11 rendering engine from scratch.
That would be illogical captain...

My first full game:
http://www.kongregate.com/games/3DModel ... tor#tipjar
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Metro style apps

Post by CuteAlien »

I don't know which store you are talking about, has Microsoft created a store just for Metro? Anyway - state of DX 11 etc. is discussed in corresponding threads. Nadro's changes which are in in a new svn branch now are probably helping to pave the way in the direction of DX 11 & co. There's no secret programming stuff going on beside what you can see in svn and in the discussions on the forum. I suppose most people haven't checked out Metro yet (it's not even released yet), not to mentioned started development for it (if there is specific stuff needed to support it). Personally I plan to finally update my computer next month, so I can at least run & test DX 11 applications in the near future - no further plans from my side.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: Metro style apps

Post by hybrid »

Moreover, MS forced to use .NET and DNA in the past. So maybe wait a little more if you shouldn't use one of the MS internal development tools anyway.
3DModelerMan
Posts: 1691
Joined: Sun May 18, 2008 9:42 pm

Re: Metro style apps

Post by 3DModelerMan »

They created a store similar to iOS app store for Metro apps. You have to run a validation tool that checks certain things. D3DX has been deprecated, there's no more support for DirectX 9, etc... The reason Metro style apps are going to be important, is because ARM based Windows 8 tablet will only support the Metro style apps.
That would be illogical captain...

My first full game:
http://www.kongregate.com/games/3DModel ... tor#tipjar
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: Metro style apps

Post by hybrid »

DX11 is part of D3DX, just version 11!? So what exactly are the requirements now?
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: Metro style apps

Post by Nadro »

hybrid wrote:DX11 is part of D3DX, just version 11!? So what exactly are the requirements now?
D3DX is part of DX11.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
3DModelerMan
Posts: 1691
Joined: Sun May 18, 2008 9:42 pm

Re: Metro style apps

Post by 3DModelerMan »

D3DX is the D3D eXtension framework. It's now deprecated for Metro apps. DX11 is what you use now. There's also a new WinRT windowing system that replaces Win32, and from what I understand, XInput is the only joystick API that they support for Metro style apps (why you would need joystick support in Metro apps I can't think of though).
That would be illogical captain...

My first full game:
http://www.kongregate.com/games/3DModel ... tor#tipjar
Cygon
Posts: 1
Joined: Sun Jun 24, 2012 12:51 pm

Re: Metro style apps

Post by Cygon »

I'm an Ogre 3D user, but I came across this post while googling for a portable D3DX-like library that works in Metro :)

I've ported a lot of my own code to WinRT, so if it helps getting an overview what needs to be done for WinRT support:
  • You cannot access the file system except read from the install directory and write to a few App-specific directories you can query from the WinRT API. CreateFile() needs to be replaced by CreateFile2(), but file handles and related API functions still work as before.
  • You cannot create a window. Apps provide a factory object (IFrameworkViewSource) to WinRT which is eventually called when the Metro UI is ready to give your application screen space.
  • You cannot query input devices (no GetCursorPos(), GetAsyncKeyState() and so on). No DirectInput either. Keyboard, mouse and touch notifications are sent to your view and you can use Xinput to access Xbox 360 game pads.
  • You cannot start threads. WinRT, like Win32, provides a thread pool and that's the only way to execute stuff in threads.
  • Only Direct3D 11 can be used to render 3D graphics.
  • Audio can only be done via Xaudio2 or WASAPI. No more DirectSound and no OpenAL.
  • Only the Unicode versions of the Windows API functions that remain available can be called.
  • Runtime shader reflection and compilation isn't possible. You cannot query the vertex elements a shader consumes as its inputs and you cannot compile HLSL or any other kind of shader.
Some things on that list may sound radical, but it turned out to be quite doable. Ogre already has a working WinRT port and I myself ported Boost 1.50.0 to WinRT (at least what I needed, Boost.Thread, Boost.Chrono, Boost.System, Boost.Signals2 and a few other parts).

Just wanted to chime in, in case Irrlicht eventually gets a WinRT port :wink:
Professional C++ and .NET developer trying to break into indie game development.
Follow my progress: http://blog.nuclex-games.com/ or http://twitter.com/#!/Cygon4 - Topics: Ogre3D, Blender, game architecture tips & code snippets.
Post Reply