Exemple #1
0
        // This completes initialization after the device has started or has been reset
        public void SetupSettings()
        {
            // Setup renderstates
            device.SetRenderState(RenderState.AlphaBlendEnable, false);
            device.SetRenderState(RenderState.AlphaBlendEnable, false);
            device.SetRenderState(RenderState.AlphaFunc, Compare.GreaterEqual);
            device.SetRenderState(RenderState.AlphaRef, 0x0000007E);
            device.SetRenderState(RenderState.AlphaTestEnable, false);
            device.SetRenderState(RenderState.Ambient, Color.White.ToArgb());
            device.SetRenderState(RenderState.AmbientMaterialSource, ColorSource.Material);
            device.SetRenderState(RenderState.AntialiasedLineEnable, false);
            device.SetRenderState(RenderState.Clipping, true);
            device.SetRenderState(RenderState.ColorVertex, false);
            device.SetRenderState(RenderState.ColorWriteEnable, ColorWriteEnable.Red | ColorWriteEnable.Green | ColorWriteEnable.Blue | ColorWriteEnable.Alpha);
            device.SetRenderState(RenderState.CullMode, Cull.None);
            device.SetRenderState(RenderState.DestinationBlend, Blend.InverseSourceAlpha);
            device.SetRenderState(RenderState.DiffuseMaterialSource, ColorSource.Color1);
            //device.SetRenderState(RenderState.DitherEnable, true);
            device.SetRenderState(RenderState.FillMode, FillMode.Solid);
            device.SetRenderState(RenderState.FogEnable, false);
            device.SetRenderState(RenderState.FogTableMode, FogMode.Linear);
            device.SetRenderState(RenderState.Lighting, false);
            device.SetRenderState(RenderState.LocalViewer, false);
            device.SetRenderState(RenderState.MultisampleAntialias, (General.Settings.AntiAliasingSamples > 0));             //mxd
            device.SetRenderState(RenderState.NormalizeNormals, false);
            device.SetRenderState(RenderState.PointSpriteEnable, false);
            device.SetRenderState(RenderState.RangeFogEnable, false);
            device.SetRenderState(RenderState.ShadeMode, ShadeMode.Gouraud);
            device.SetRenderState(RenderState.SourceBlend, Blend.SourceAlpha);
            device.SetRenderState(RenderState.SpecularEnable, false);
            device.SetRenderState(RenderState.StencilEnable, false);
            device.SetRenderState(RenderState.TextureFactor, -1);
            device.SetRenderState(RenderState.ZEnable, false);
            device.SetRenderState(RenderState.ZWriteEnable, false);
            device.PixelShader  = null;
            device.VertexShader = null;

            // Matrices
            device.SetTransform(TransformState.World, Matrix.Identity);
            device.SetTransform(TransformState.View, Matrix.Identity);
            device.SetTransform(TransformState.Projection, Matrix.Identity);

            // Texture addressing
            device.SetSamplerState(0, SamplerState.AddressU, TextureAddress.Wrap);
            device.SetSamplerState(0, SamplerState.AddressV, TextureAddress.Wrap);
            device.SetSamplerState(0, SamplerState.AddressW, TextureAddress.Wrap);

            // Setup material
            device.Material = new Material {
                Ambient  = new Color4(Color.White),
                Diffuse  = new Color4(Color.White),
                Specular = new Color4(Color.White)
            };

            // Shader settings
            shaders.World3D.SetConstants(General.Settings.VisualBilinear, Math.Min(devicecaps.MaxAnisotropy, General.Settings.FilterAnisotropy));

            // Texture filters
            postfilter        = Filter.Point;
            mipgeneratefilter = Filter.Box;

            // Initialize presentations
            Presentation.Initialize();
        }