コード例 #1
0
        public SDX_Surface(Size size)
        {
            mSrcRect = new Rectangle(new Point(0, 0), size);

            mDisplay = Display.Impl as SDX_Display;
            mDevice  = mDisplay.D3D_Device;

            mTexture = new Ref <Texture>(new Texture(mDevice.Device, size.Width, size.Height, 1, Usage.None,
                                                     Format.A8R8G8B8, Pool.Managed));

            RenderToSurface render = new RenderToSurface(mDevice.Device, size.Width, size.Height,
                                                         Format.A8R8G8B8, Format.D16);

            Viewport v = new Viewport(0, 0, size.Width, size.Height);

            render.BeginScene(mTexture.Value.GetSurfaceLevel(0), v);
            mDevice.Clear(ClearFlags.Target, Color.FromArgb(0, 0, 0, 0).ToArgb(), 1.0f, 0);
            render.EndScene(Filter.None);

            render.Dispose();
            render = null;

            mTextureSize = mSrcRect.Size;

            InitVerts();
        }
コード例 #2
0
        public override void Clear(Color color)
        {
            mDevice.DrawBuffer.Flush();

            mDevice.Clear(ClearFlags, color.ToArgb(), mDepthClear, mStencilClear);

            var device = mDevice.Device;

            //device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, color.ToArgb(), 1.0f, 0);

            //device.Clear(ClearFlags.Target, color.ToArgb(), 0, 0);
            //device.Clear(ClearFlags.ZBuffer, 0, 1.0f, 0);

            //System.Drawing.Rectangle[] rect = new System.Drawing.Rectangle[1];
            //rect[0] = new System.Drawing.Rectangle(0, 0, 800, 600);
            //device.Clear(ClearFlags.ZBuffer, color.ToArgb(), 1.0f, 0, rect);
        }