XNA Game Studio Express Beta 2

http://msdn.microsoft.com/directx/xna/gse/

 XNA GSE β2がでました。

β1 → β2 移植目安

  • Surface → RenderTarget2D
  • new Texture2D( , , , , ResourceUsage.RenderTarget, ) → new RenderTarget2D(...)
  • PresentationParameters.PresentFlags → PresentationParameters.PresentOptions
  • PresentFlags → PresentOptions
  • ResourcePool → ResourceManagementMode
  • ResourcePool.Default → ResourceManagementMode.Manual (?)
  • ResourcePool.Managed → ResourceManagementMode.Automatic (?)
  • GraphicsDevice.CopyRenderTarget → RenderTarget2D.GetTexture() / Texture2D.GetDataの構成に改変
  • GraphicsDevice.UpdateTexture → RenderTarget2D.GetTexture() / Texture2D.SetDataの構成に改変
  • Surface.GetData → Texture2D.GetDataになるよう構造を改変する
  • Surface.SetData → Texture2D.SetDataになるよう構造を改変する
  • Texture2D.GetSurfaceLevel(int) → レンダーターゲットについては立場が逆転した。RenderTarget2D.GetTexture()の構成に改変
  • new Quaternion(0, 0, 0, 1) → Quaternion.Indentity
  • Matrix.FromQuaternion → Matrix.CreateFromQuaternion
  • GraphicsDevice.BeginScene / GraphicsDevice.EndScene → Gameクラスに隠蔽された。手動ではGame.BeginDraw / Game.EndDrawあたりだろうか? オフスクリーン描画ロジック構築が面倒になった? あるいは勝手にやってくれるのかも知れない。
  • EffectStateOptions → SaveStateMode
  • CompiledEffect.GetShaderCode() → CompiledEffect.GetEffectCode()
  • → RenderTarget2D.GetTexture()の前に一度ResolveRenderTargetしておくようだ。
  • → ResolveBackBuffer(Texture2D)にはResourceUsage.ResolveTargetを指定したバックバッファと同じ解像度のテクスチャが必要らしい。変換可能なSurfaceFormatでないとinvalid callになるようだ。
  • RenderState.AntiAliasedLineEnable → ?
  • GraphicsDevice.GetPresentationParameters() → GraphicsDevice.PresentationParameters 配列ではなくなった。
  • GraphicsDevice.Reset(PresentationParameters[]) → GraphicsDevice.Reset(PresentationParameters)
  • new Texture3D(..., ResourcePool) → new Texture3D(...)

追記


 早速お役に立てたようで、メモした甲斐がありました。
id:erakan:20061104
ResolveRenderTargetとResolveBackBufferの機能については詳説が欲しいところですね。