public ParticleSimulator()
        {
            rand = new Random();
            randomTextures = new Texture2D[3];
            int randSize = 64;
            float[] randData = new float[randSize * randSize];
            for (int i = 0; i < randomTextures.Length; i++)
            {
                randomTextures[i] = new Texture2D(GFX.Device, randSize, randSize, 1, TextureUsage.None, SurfaceFormat.Single);
                for (int j = 0; j < randData.Length; j++)
                {
                    randData[j] = (float)(rand.NextDouble() * 2.0 - 1.0);
                }
                randomTextures[i].SetData<float>(randData);
            }

            updatePhysicsShader = new Shader();
            updatePhysicsShader.VSTarget = 2;
            updatePhysicsShader.PSTarget = 3;
            updatePhysicsShader.CompileFromFiles("Shaders/Simulation/ParticlePhysicsP.hlsl", "Shaders/Simulation/ParticlesV.hlsl");

            updateColorShader = new Shader();
            updateColorShader.VSTarget = 2;
            updateColorShader.PSTarget = 3;
            updateColorShader.CompileFromFiles("Shaders/Simulation/ParticleColorsP.hlsl", "Shaders/Simulation/ParticlesV.hlsl");

            updateSizeShader = new Shader();
            updateSizeShader.VSTarget = 2;
            updateSizeShader.PSTarget = 3;
            updateSizeShader.CompileFromFiles("Shaders/Simulation/ParticleSizeP.hlsl", "Shaders/Simulation/ParticlesV.hlsl");
        }
示例#2
0
        public TerrainGenerator()
        {
            histogramShader = new Shader();
            histogramShader.CompileFromFiles("Shaders/Procedural/Histogram2D.hlsl", "Shaders/PostProcess/GenericV.hlsl");

            interpolateShader = new Shader();
            interpolateShader.CompileFromFiles("Shaders/Procedural/Interpolate2D.hlsl", "Shaders/Procedural/GenericTransformV.hlsl");

            peakShader = new Shader();
            peakShader.CompileFromFiles("Shaders/Procedural/PeakP.hlsl", "Shaders/Procedural/GenericTransformV.hlsl");

            gradientShader = new Shader();
            gradientShader.CompileFromFiles("Shaders/Procedural/Gradient2DP.hlsl", "Shaders/PostProcess/GenericV.hlsl");

            terraceShader = new Shader();
            terraceShader.CompileFromFiles("Shaders/Procedural/TerraceP.hlsl", "Shaders/PostProcess/GenericV.hlsl");

            basicShader = new Shader();
            basicShader.CompileFromFiles("Shaders/PostProcess/GenericP.hlsl", "Shaders/PostProcess/GenericV.hlsl");

            varianceShader = new Shader();
            varianceShader.CompileFromFiles("Shaders/Procedural/Variance2DP.hlsl", "Shaders/PostProcess/GenericV.hlsl");

            whiteTexture = new Texture2D(GFX.Device, 1, 1, 1, TextureUsage.None, SurfaceFormat.Color);
            Color[] whiteData = new Color[1] { Color.White };
            whiteTexture.SetData<Color>(whiteData);
        }
        public GUIElementManager(SpriteFont defaultFont)
        {
            basicImageShader = new Shader();
            basicImageShader.CompileFromFiles("Shaders/PostProcess/GUIP.hlsl", "Shaders/PostProcess/GUIV.hlsl");

            basicImageAlphaShader = new Shader();
            basicImageAlphaShader.CompileFromFiles("Shaders/PostProcess/GUIPAlpha.hlsl", "Shaders/PostProcess/GUIV.hlsl");

            whiteTexture = new Texture2D(GFX.Device, 1, 1, 1, TextureUsage.None, SurfaceFormat.Color);
            Color[] color = new Color[] { Color.White };
            whiteTexture.SetData<Color>(color);
            spriteBatch = new SpriteBatch(GFX.Device);
            DefaultFont = defaultFont;
            CreateQuad();
        }
 public PerlinNoiseSimulator()
 {
     noise2DShader = new Shader();
     noise2DShader.CompileFromFiles("Shaders/Procedural/PerlinNoise2D.hlsl", "Shaders/PostProcess/GenericV.hlsl");
 }