Exemple #1
0
        DynamicTexture GenerateBayerMatrix(int order)
        {
            int[,] matrix = null;

            Random rand = new Random();

            for (int i = 0; i < 6; i++)
            {
                matrix = GenerateBayerMatrixRecursive(matrix);
            }

            var w = matrix.GetLength(0);
            var h = matrix.GetLength(0);

            var colors = new Color[w * h];

            for (int i = 0; i < w; i++)
            {
                for (int j = 0; j < h; j++)
                {
                    colors[i + j * w] = new Color((byte)(matrix[i, j] / 16));
                }
            }

            var tex = new DynamicTexture(rs, w, h, typeof(Color));

            tex.SetData(colors);

            return(tex);
        }
Exemple #2
0
        /// <summary>
        /// Intializes graphics engine.
        /// </summary>
        public override void Initialize()
        {
            //	init components :
            InitializeComponent(spriteEngine);
            InitializeComponent(filter);
            InitializeComponent(ssaoFilter);
            InitializeComponent(hdrFilter);
            InitializeComponent(dofFilter);
            InitializeComponent(lightRenderer);
            InitializeComponent(sceneRenderer);
            InitializeComponent(sky);
            InitializeComponent(bitonicSort);
            InitializeComponent(vtSystem);

            //	create default textures :
            whiteTexture = new DynamicTexture(this, 4, 4, typeof(Color), false, false);
            whiteTexture.SetData(Enumerable.Range(0, 16).Select(i => Color.White).ToArray());

            grayTexture = new DynamicTexture(this, 4, 4, typeof(Color), false, false);
            grayTexture.SetData(Enumerable.Range(0, 16).Select(i => Color.Gray).ToArray());

            blackTexture = new DynamicTexture(this, 4, 4, typeof(Color), false, false);
            blackTexture.SetData(Enumerable.Range(0, 16).Select(i => Color.Black).ToArray());

            flatNormalMap = new DynamicTexture(this, 4, 4, typeof(Color), false, false);
            flatNormalMap.SetData(Enumerable.Range(0, 16).Select(i => new Color(127, 127, 255, 127)).ToArray());

            //	set sprite layers :
            SpriteLayers = new SpriteLayerCollection();

            //	add default render world :
            renderWorld = new RenderWorld(Game, Width, Height);

            DisplayBoundsChanged += (s, e) => renderWorld.Resize(DisplayBounds.Width, DisplayBounds.Height);
        }
Exemple #3
0
        /// <summary>
        /// /
        /// </summary>
        public override void Initialize()
        {
            averageLum = new RenderTarget2D(Game.GraphicsDevice, ColorFormat.Rgba16F, 256, 256, true, false);
            paramsCB   = new ConstantBuffer(Game.GraphicsDevice, typeof(Params));
            whiteTex   = new DynamicTexture(Game.RenderSystem, 4, 4, typeof(Color), false, false);
            whiteTex.SetData(Enumerable.Range(0, 16).Select(i => Color.White).ToArray());

            LoadContent();

            noiseTex = GenerateBayerMatrix(8);

            Game.Reloading += (s, e) => LoadContent();
        }
Exemple #4
0
        /// <summary>
        /// Ctor
        /// </summary>
        /// <param name="rs"></param>
        /// <param name="capacity">Number of sprites</param>
        public SpriteLayer(RenderSystem rs, int capacity)
        {
            this.rs = rs;

            Order = 0;

            Visible    = true;
            Transform  = Matrix.Identity;
            Color      = Color.White;
            BlendMode  = SpriteBlendMode.AlphaBlend;
            FilterMode = SpriteFilterMode.LinearClamp;
            StereoMode = SpriteStereoMode.All;

            defaultTexture = new DynamicTexture(rs, 16, 16, typeof(Color), false, false);
            defaultTexture.SetData(Enumerable.Range(0, 16 * 16).Select(i => Color.White).ToArray());

            using (var ms = new MemoryStream(Properties.Resources.conchars)) {
                fontTexture = UserTexture.CreateFromTga(rs, ms, false);
            }

            ReallocGpuBuffers(capacity);

            framesBuffer = new ConstantBuffer(rs.Device, typeof(SpriteFrame), MaxSpriteFrames);
        }