XNA Game Studio Express Beta 2
http://msdn.microsoft.com/directx/xna/gse/
β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の機能については詳説が欲しいところですね。