I've managed to get Eihort Ogre compiled with /clr:pure option, which produces a pure managed code binary (not mixed native/managed). Surprisingly, freetype gave me the biggest trouble for getting it compiled and linked properly, OgreMain was smooth sailing compared to that.
The "proof of concept" can be downloaded from here. (requires the VC++ 8 SP1 binaries).
It's the CameraTrack demo + OgreMain + RenderSystem_Direct3D9 + Plugin_OctreeSceneManager + Plugin_ParticleFX into one pure .NET executable.
'NativeOgre.dll' contains the win32-specific code (like the window proc) and native D3D code (the .NET executable P/Invokes into it).
'FreeImage.dll' is native FreeImage. (I'm not sure whether it's necessary to get it compiled to pure .NET; its functionality could be replaced by XNA classes).
AFAIK the steps to make it fully runnable on XNA would be:
-Replace the P/Invokes to VC++ binaries (MSVCR80.dll etc.) with managed code
-Replace the P/Invokes to d3d9.dll and d3dx9d.dll with a XNA-specific RenderSystem.
-Replace the P/Invokes to FreeImage.dll with equivelant XNA functionality or get it compiled with /clr:pure as well.
-Substitute the 'calli' CLR opcode functionality ('calli' isn't supported by the Xbox CLR)
The manipulation of the .NET executable can be done with Cecil
Unfortunately, I don't have an Xbox360 to start "hacking" on it and I have no intention on getting one (I'm not much of a gamer anymore). If there's interest by the Ogre community for donating to the "Ogre on XNA by an Xbox360 + Creator's club submission" fund, I'm willing to volunteer my time on it.
But I'm sure everybody will think it's an elaborate scum to get a free Xbox, so feel free to flame away
