Example #1
0
        private void FractalForm_Resize(object sender, EventArgs e)
        {
            timer1.Stop();

            PresentParameters presentParams = new PresentParameters();

            presentParams.Windowed               = true;
            presentParams.SwapEffect             = SwapEffect.Copy;
            presentParams.AutoDepthStencilFormat = DepthFormat.D16;
            presentParams.EnableAutoDepthStencil = true;

            device = new Device(0, DeviceType.Hardware, this, CreateFlags.HardwareVertexProcessing, presentParams);

            device.RenderState.CullMode = Cull.None;
            device.RenderState.Lighting = false;
            device.VertexFormat         = CustomVertex.PositionTextured.Format;

            ShaderFlags shaderFlags = ShaderFlags.None;

            Assembly assembly = Assembly.GetExecutingAssembly();

            string[]       d      = assembly.GetManifestResourceNames();
            Stream         stream = assembly.GetManifestResourceStream("FractalFast0r.Resources.shaders.txt");
            string         errors = "";
            ConstantTable  consts;
            GraphicsStream gs = ShaderLoader.CompileShaderFromStream(stream, "vs_main", null, null, "vs_3_0", shaderFlags, out errors, out consts);
            VertexShader   vs = new VertexShader(device, gs);

            gs.Close();
            device.VertexShader = vs;

            stream.Seek(0, System.IO.SeekOrigin.Begin);

            gs = ShaderLoader.CompileShaderFromStream(stream, "ps_main", null, null, "ps_3_0", shaderFlags, out errors, out consts);
            PixelShader ps = new PixelShader(device, gs);

            gs.Close();
            stream.Close();
            device.PixelShader = ps;

            stop = new Stopwatch();
            stop.Start();
            timer1.Start();
        }