Ejemplo n.º 1
0
 public Ssao(GraphicsDevice device)
 {
     this.ssaoMaterial = new Material(Content.Load<Effect>("SSAO"));
     this.ssaoBlurMaterial = new Material(Content.Load<Effect>("BlurSSAO"));
     this.ssaoMaterial.Parameters["Random"].SetValue(GenerateRandomNormals(device, 4, 4));//content.Load<Texture2D>("randomnormals"));
     this.ssaoMaterial.Parameters["RandomResolution"].SetValue(4);
     this.ssaoMaterial.Parameters["Samples"].SetValue(GenerateRandomSamplePositions(16));
     this.gaussian = new Gaussian(device);
     this.quad = new Quad(device);
 }
Ejemplo n.º 2
0
        public ToneMapComponent(GraphicsDevice device)
        {
            _quad = new Quad(device);
            var effect = Content.Load<Effect>("CalculateLuminance");
            _calculateLuminance = new Material(effect.Clone(), "ExtractLuminance");
            _adaptLuminance = new Material(effect.Clone(), "AdaptLuminance");
            _readLuminance = new Material(effect.Clone(), "ReadLuminance");
            _toneMap = new Material(Content.Load<Effect>("ToneMap"), null);
            _bloom = Content.Load<Effect>("Bloom");
            _gaussian = new Gaussian(device);

            _adaptedLuminance = new RenderTarget2D[2];
            _adaptedLuminance[0] = new RenderTarget2D(device, 1, 1, false, SurfaceFormat.Single, DepthFormat.None);
            _adaptedLuminance[1] = new RenderTarget2D(device, 1, 1, false, SurfaceFormat.Single, DepthFormat.None);
        }
Ejemplo n.º 3
0
        public ToneMapComponent(GraphicsDevice device)
        {
            quad = new Quad(device);
            var effect = Content.Load<Effect>("CalculateLuminance");
            calculateLuminance = new Material(effect.Clone(), "ExtractLuminance");
            adaptLuminance = new Material(effect.Clone(), "AdaptLuminance");
            readLuminance = new Material(effect.Clone(), "ReadLuminance");
            copyLuminance = new Material(effect.Clone(), "Copy");
            toneMap = new Material(Content.Load<Effect>("ToneMap"), null);
            bloom = Content.Load<Effect>("Bloom");
            gaussian = new Gaussian(device);
            scale = new Resample(device);

            adaptedLuminance = new RenderTarget2D[2];
            adaptedLuminance[0] = new RenderTarget2D(device, 1, 1, false, SurfaceFormat.Single, DepthFormat.None);
            adaptedLuminance[1] = new RenderTarget2D(device, 1, 1, false, SurfaceFormat.Single, DepthFormat.None);

            device.SetRenderTarget(adaptedLuminance[previous]);
            device.Clear(Color.Transparent);
            device.SetRenderTarget(null);
        }