As discussed at the recent OTA09 event, I’m working to build out an AR platform on Windows Mobile. This is a ‘skunk works’ project filling my waking hours between work and the family.
Currently, I’m exploring the DirectShow capabilities of the Windows Mobile device. DirectShow allows us to get hold of the device camera and provides a mechanism, via filters, to manipulate the video stream before rendering.
I currently envision building a transform filter that will enable a form of the Windows Video Mixing Renderer on Windows Mobile. The filter would take layer definitions, graphics or video as an input for the AR elements.
Performance is going to be a killer on these devices, so will see how rich the VMR functionality can be.
I haven’t done any serious DirectShow stuff, my only experience comes from some work nearly a decade ok, so I’m ramping up my skills.
One interesting Bing find, and a proof point for my envisioned solution, is Alex Mogurenko’s excellent DirectShow.NetCF project. Alex provides two DLLs which implement a custom SampleGrabber filter, making it possible to build a simple .NET CF application that can display video preview and capture stills from the camera.
My little WM6.5 test project is here (.Net CF 3.5 app). It works well, performance lags compared to the native HTC Camera application, but not by much. I need to explore this in more detail.
Following Alex’s lead, I’ll be implementing my own filter next and aiming in the end to provide an AR solution to .NET CF developers. Once I get this going I’ll publish the project on Codeplex.