private void Dispatcher_ShutdownStarted(object sender, EventArgs e) { RenderContext.UpdateRequireWorlds.Remove(WorldSpace); if (ImageContainer != null) { ImageContainer.Dispose(); ImageContainer = null; } if (TextureContext != null) { TextureContext.Dispose(); TextureContext = null; } Dispose(); }
protected override void OnInitialized(EventArgs e) { base.OnInitialized(e); if (RenderContext == null) { RenderContext = getRenderContext(); } TextureContext = GetTextureTargetContext(); //TextureContext.BackgroundColor=new Color4(1,0,1,1); RenderContext.UpdateRequireWorlds.Add(TextureContext.WorldSpace); ImageContainer = new D3DImageContainer(); ImageContainer.IsFrontBufferAvailableChanged += ImageContainer_IsFrontBufferAvailableChanged; TargetImg.Source = ImageContainer; ImageContainer.SetBackBufferSlimDX(TextureContext.RenderTarget); Dispatcher.ShutdownStarted += Dispatcher_ShutdownStarted; BeginRenderingScene(); //////テスト用コード //BasicGrid grid = new BasicGrid(); //grid.Load(RenderContext); //TextureContext.WorldSpace.AddResource(grid); //TextureContext.MatrixManager.ViewMatrixManager.CameraPosition = new Vector3(0, 20, -40); //TextureContext.MatrixManager.ViewMatrixManager.CameraLookAt = new Vector3(0, 15, 0); }