Exemplo n.º 1
0
        public void Render(Microsoft.Xna.Framework.Graphics.Color XColor)
        {
            //myTexture = Texture2D.FromFile(device, fullPath);
            //textureScreenBuffer.GenerateMipMaps(TextureFilter.Point);

            //device.Clear(Microsoft.Xna.Framework.Graphics.Color.CornflowerBlue);
            device.Clear(XColor);

            // FOR BLOCKY PIXELS, USE THIS CODE
            spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.Immediate, SaveStateMode.None);
            device.SamplerStates[0].MagFilter = TextureFilter.Point;

            // FOR ANTI-ALIASED PIXELS, USE THIS CODE
            //spriteBatch.Begin();

            spriteBatch.Draw(textureScreenBuffer0, new Microsoft.Xna.Framework.Rectangle(0, 0, vdb.pnlNT2000.Width, vdb.pnlNT2000.Height), Microsoft.Xna.Framework.Graphics.Color.White);
            spriteBatch.Draw(textureScreenBuffer1, new Microsoft.Xna.Framework.Rectangle(512, 0, vdb.pnlNT2000.Width, vdb.pnlNT2000.Height), Microsoft.Xna.Framework.Graphics.Color.White);
            spriteBatch.Draw(textureScreenBuffer2, new Microsoft.Xna.Framework.Rectangle(0, 480, vdb.pnlNT2000.Width, vdb.pnlNT2000.Height), Microsoft.Xna.Framework.Graphics.Color.White);
            spriteBatch.Draw(textureScreenBuffer3, new Microsoft.Xna.Framework.Rectangle(512, 480, vdb.pnlNT2000.Width, vdb.pnlNT2000.Height), Microsoft.Xna.Framework.Graphics.Color.White);

            spriteBatch.End();

            //base.Update();
            device.Present();
        }
 public override void Clear(ClearOptions options, Color color, float depth, int stencil)
 {
     XNA.Color c;
     XNAHelper.ConvertColor(ref color, out c);
     XFG.ClearOptions xfgClear = XFG.ClearOptions.Target;
     if ((options & ClearOptions.Depth) == ClearOptions.Depth)
     {
         xfgClear |= XFG.ClearOptions.DepthBuffer;
     }
     if ((options & ClearOptions.Stencil) == ClearOptions.Stencil)
     {
         xfgClear |= XFG.ClearOptions.Stencil;
     }
     _graphicsDevice.Clear(xfgClear, c, depth, stencil);
 }
Exemplo n.º 3
0
        public override void draw(
            Microsoft.Xna.Framework.Graphics.SpriteBatch spriteBatch,
            Microsoft.Xna.Framework.Graphics.GraphicsDevice device,
            Microsoft.Xna.Framework.Graphics.RenderTarget2D[] render_targets)
        {
            base.draw(spriteBatch, device, render_targets);

            device.SetRenderTarget(render_targets[0]);
            device.Clear(Color.Transparent);

            spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend);
            Splash.draw(spriteBatch);

            if (DisclaimerIndex < DISCLAIMERS.Length)
                PreviewString.draw(spriteBatch);

            BlackScreen.draw(spriteBatch);
            spriteBatch.End();
        }
Exemplo n.º 4
0
        public void Run()
        {
            using (var form = CreateForm())
            {
                PresentationParameters presentationParameters = CreatePresentationParameters();

                var device = new GraphicsDevice(GraphicsAdapter.DefaultAdapter, DeviceType.Hardware,
                    form.Handle, presentationParameters);

                Application.Idle +=
                    delegate
                    {
                        device.Clear(Color.Blue);

                        device.Present();

                        Application.DoEvents();
                    };

                Application.Run(form);
            }
        }
 public override void Clear(System.Drawing.Color fillColor)
 {
     device.Clear(new Microsoft.Xna.Framework.Color(
                      fillColor.R, fillColor.G, fillColor.B, fillColor.A));
 }
Exemplo n.º 6
0
        private void CalculateLuminance(Renderer renderer, Vector2 resolution, GraphicsDevice device, Texture2D lightBuffer)
        {
            if (_previous == -1)
            {
                _previous = 1;
                device.SetRenderTarget(_adaptedLuminance[_previous]);
                device.Clear(Color.Transparent);
                device.SetRenderTarget(null);
            }

            var tmp = _previous;
            _previous = _current;
            _current = tmp;

            // calculate luminance map
            var luminanceMap = RenderTargetManager.GetTarget(device, 1024, 1024, SurfaceFormat.Single, mipMap: true, name: "luminance map", usage: RenderTargetUsage.DiscardContents);
            device.SetRenderTarget(luminanceMap);
            device.BlendState = BlendState.Opaque;
            device.Clear(Color.Transparent);
            _calculateLuminance.Parameters["Texture"].SetValue(lightBuffer);
            _quad.Draw(_calculateLuminance, renderer.Data);
            Output("luminance", luminanceMap);

            // read bottom mipmap to find average luminance
            _averageLuminance = RenderTargetManager.GetTarget(device, 1, 1, SurfaceFormat.Single, name: "average luminance", usage: RenderTargetUsage.DiscardContents);
            device.SetRenderTarget(_averageLuminance);
            _readLuminance.Parameters["Texture"].SetValue(luminanceMap);
            _quad.Draw(_readLuminance, renderer.Data);

            // adapt towards the current luminance
            device.SetRenderTarget(_adaptedLuminance[_current]);
            _adaptLuminance.Parameters["Texture"].SetValue(_averageLuminance);
            _adaptLuminance.Parameters["PreviousAdaption"].SetValue(_adaptedLuminance[_previous]);
            _quad.Draw(_adaptLuminance, renderer.Data);

            RenderTargetManager.RecycleTarget(_averageLuminance);
        }
Exemplo n.º 7
0
        private void ToneMap(Renderer renderer, Vector2 resolution, GraphicsDevice device, Texture2D lightBuffer)
        {
            var toneMapped = RenderTargetManager.GetTarget(device, (int)resolution.X, (int)resolution.Y, SurfaceFormat.Color, depthFormat: DepthFormat.Depth24Stencil8, name: "tone mapped", usage: RenderTargetUsage.DiscardContents);
            device.SetRenderTarget(toneMapped);
            device.Clear(Color.Transparent);
            device.DepthStencilState = DepthStencilState.None;
            device.BlendState = BlendState.Opaque;

            _toneMap.Parameters["Texture"].SetValue(lightBuffer);
            _toneMap.Parameters["Luminance"].SetValue(_adaptedLuminance[_current]);
            _toneMap.Parameters["MinExposure"].SetValue(renderer.Data.GetValue(new TypedName<float>("hdr_minexposure")));
            _toneMap.Parameters["MaxExposure"].SetValue(renderer.Data.GetValue(new TypedName<float>("hdr_maxexposure")));
            _quad.Draw(_toneMap, renderer.Data);
            Output("tonemapped", toneMapped);
        }
Exemplo n.º 8
0
        public void Create(bool fullscreen, int width, int height, bool audio)
        {
            GraphicsDevice Device;
            Window = new Form();
            Window.ClientSize = new System.Drawing.Size(width, height);

            Window.Show();

            //GraphicsAdapter.DefaultAdapter.
            PresentationParameters param=new PresentationParameters();
            param.BackBufferCount=1;
            //param.BackBufferFormat=SurfaceFormat.Rgba32;
            param.BackBufferHeight=height;
            param.BackBufferWidth=width;
            //param.FullScreenRefreshRateInHz=60;
            param.IsFullScreen=fullscreen;
            param.PresentFlag=PresentFlag.None;
            param.SwapEffect=fullscreen?SwapEffect.Flip:SwapEffect.Discard;
            param.PresentationInterval=PresentInterval.One;
            param.AutoDepthStencilFormat = DepthFormat.Depth16;
            param.BackBufferFormat = SurfaceFormat.Bgr32;
            param.EnableAutoDepthStencil = true;
            param.PresentationInterval = PresentInterval.Immediate;

            try
            {
                Device = new GraphicsDevice(GraphicsAdapter.DefaultAdapter, DeviceType.Hardware, Window.Handle, CreateOptions.HardwareVertexProcessing, param);
            }
            catch (InvalidCallException e)
            {
                System.Console.WriteLine(e.Message);
                System.Console.WriteLine(e.ErrorCode);
                throw e;
            }

            Device.Clear(new Color(0, 0, 0, 1));
            Device.Present();

            renderer = new XnaRenderer(Device);
        }
        public override void Clear(Astrid.Core.Color c)
        {
            var color = new Microsoft.Xna.Framework.Color(c.R, c.G, c.B, c.A);

            _graphicsDevice.Clear(color);
        }