Axiom.RenderSystems.DirectX9.D3DRenderSystem.SetFog C# (CSharp) Метод

SetFog() публичный метод

public SetFog ( Axiom.Graphics.FogMode mode, ColorEx color, Real density, Real start, Real end ) : void
mode Axiom.Graphics.FogMode
color Axiom.Core.ColorEx
density Real
start Real
end Real
Результат void
        public override void SetFog( FogMode mode, ColorEx color, Real density,
            Real start, Real end)
        {
            RenderState fogType, fogTypeNot;
            if ((_deviceManager.ActiveDevice.D3D9DeviceCaps.RasterCaps & RasterCaps.FogTable) != 0)
            {
                fogType = RenderState.FogTableMode;
                fogTypeNot = RenderState.FogVertexMode;
            }
            else
            {
                fogType = RenderState.FogVertexMode;
                fogTypeNot = RenderState.FogTableMode;
            }

            if ( mode == FogMode.None )
            {
                // just disable
                SetRenderState( RenderState.FogTableMode, (int)D3D.FogMode.None );
                SetRenderState( RenderState.FogEnable, false );
            }
            else
            {
                // Allow fog
                SetRenderState(RenderState.FogEnable, true);
                SetRenderState(fogTypeNot, (int)FogMode.None);
                SetRenderState(fogType, (int)D3DHelper.ConvertEnum(mode));

                SetRenderState( RenderState.FogColor, D3DHelper.ToColor( color ).ToArgb() );
                SetFloatRenderState( RenderState.FogStart, start );
                SetFloatRenderState(RenderState.FogEnd, end);
                SetFloatRenderState(RenderState.FogDensity, density);
            }
        }
D3DRenderSystem