public override RenderWindow CreateRenderWindow( string name, int width, int height, bool isFullScreen, NamedParameterList miscParams )
{
LogManager.Instance.Write("D3D9RenderSystem::createRenderWindow \"{0}\", {1}x{2} {3} ",
name, width, height, isFullScreen ? "fullscreen" : "windowed");
LogManager.Instance.Write( "miscParams: {0}",
miscParams.Aggregate( new StringBuilder(),
( s, kv ) =>
s.AppendFormat( "{0} = {1};", kv.Key, kv.Value ).AppendLine()
).ToString()
);
// Make sure we don't already have a render target of the
// same name as the one supplied
if (renderTargets.ContainsKey(name))
{
throw new Exception(String.Format("A render target of the same name '{0}' already exists." +
"You cannot create a new window with this name.", name));
}
var window = new D3DRenderWindow(_activeD3DDriver, null);
window.Create(name, width, height, isFullScreen, miscParams);
_resourceManager.LockDeviceAccess();
_deviceManager.LinkRenderWindow( window );
_resourceManager.UnlockDeviceAccess();
_renderWindows.Add( window );
UpdateRenderSystemCapabilities( window );
AttachRenderTarget( window );
return window;
}