Пример #1
0
 protected override void ReleaseManaged()
 {
     if (d3dDevice != null)
     {
         d3dDevice.Dispose();
     }
 }
Пример #2
0
        /// <summary>
        /// 初始化DirectX设备
        /// </summary>
        /// <param name="handle">目标viewport的句柄</param>
        /// <returns>初始化是否顺利完成</returns>
        public static bool InitializeDX2D(IntPtr handle)
        {
            try
            {
                PresentParameters presentParams = new PresentParameters
                {
                    Windowed   = true,
                    SwapEffect = SwapEffect.Discard
                };
                if (Device != null)
                {
                    Device.Dispose();
                }
                Device        = new Device(0, DeviceType.Hardware, handle, CreateFlags.SoftwareVertexProcessing, presentParams);
                IsInitialized = true;
#if DEBUG
                Debug.Print("DXDevice init success.");
#endif
                return(true);
            }
            catch (DirectXException ex)
            {
                Console.WriteLine($"Initailization Failed:{ex.Message}");
                return(false);
            }
        }
Пример #3
0
        private void InitializeDevice()
        {
            PresentParameters presentParams = new PresentParameters();

            presentParams.Windowed               = true;
            presentParams.SwapEffect             = SwapEffect.Discard;
            presentParams.EnableAutoDepthStencil = true;               //with depth buffer
            presentParams.AutoDepthStencilFormat = DepthFormat.D24X8;  //16 bit depth

            if (device != null)
            {
                device.Dispose();
            }

            device = new Microsoft.DirectX.Direct3D.Device(0, Microsoft.DirectX.Direct3D.DeviceType.Hardware, this, CreateFlags.SoftwareVertexProcessing, presentParams);
            // device.RenderState.FillMode = FillMode.WireFrame;
            device.RenderState.CullMode = Cull.None;
            device.Transform.World      = worldMatrix;


            lineList_VB = new VertexBuffer(typeof(CustomVertex.PositionColored),
                                           2, device,
                                           Usage.Dynamic | Usage.WriteOnly,
                                           CustomVertex.PositionColored.Format,
                                           Pool.Default);
        }
Пример #4
0
 /// <summary>
 /// 退出程序
 /// </summary>
 public void Exit()
 {
     currentScene.Dispose();
     d3dDevice.Dispose();
     instance = null;
     this.Dispose();
     this.Close();
 }
Пример #5
0
 protected void FreeDirect3D()
 {
     if (p_D3DDevice != null)
     {
         p_D3DDevice.Dispose();
         p_D3DDevice = null;
     }
 }
Пример #6
0
 public void shutdown()
 {
     if (m_D3DDevice != null)
     {
         m_D3DDevice.Dispose();
         m_D3DDevice = null;
     }
 }
Пример #7
0
 public void Dispose()
 {
     Font2D.Dispose();
     Font3D.Dispose();
     Sprite.Dispose();
     D3DDev.Dispose();
     DSoundDev.Dispose();
     DKeyboardDev.Dispose();
     DMouseDev.Dispose();
 }
Пример #8
0
        public virtual void Dispose()
        {
            // * Oprydningskode for maskinen
            foreach (GameEntity e in entities)
            {
                e.Dispose();
            }

            renderDevice.Dispose();
            dxSprite.Dispose();
        }
Пример #9
0
        public virtual void Dispose()
        {
            foreach (Picture picture in m_Pictures)
            {
                picture.Dispose();
            }
            m_Pictures.Clear();

            foreach (Font font in m_Fonts)
            {
                font.Dispose();
            }
            m_Fonts.Clear();

            foreach (Sound sound in m_Sounds)
            {
                sound.Dispose();
            }
            m_Sounds.Clear();

            foreach (Music music in m_Music)
            {
                music.Dispose();
            }
            m_Music.Clear();

            dIDevice.Dispose();
            dIDevice = null;
            dsDevice.Dispose();
            dsDevice = null;
            DXSprite.Dispose();
            DXSprite = null;
            dGDevice.Dispose();
            dGDevice = null;
            m_GameWindow.Dispose();
            m_GameWindow = null;
            m_Disposed   = true;
        }