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

SetSurfaceParams() приватный метод

private SetSurfaceParams ( ColorEx ambient, ColorEx diffuse, ColorEx specular, ColorEx emissive, Real shininess, TrackVertexColor tracking = TrackVertexColor.None ) : void
ambient Axiom.Core.ColorEx
diffuse Axiom.Core.ColorEx
specular Axiom.Core.ColorEx
emissive Axiom.Core.ColorEx
shininess Real
tracking TrackVertexColor
Результат void
        public override void SetSurfaceParams(ColorEx ambient, ColorEx diffuse, ColorEx specular,
            ColorEx emissive, Real shininess, TrackVertexColor tracking = TrackVertexColor.None)
        {
            // TODO: Cache color values to prune unneccessary setting

            // create a new material based on the supplied params
            var mat = new D3D.Material();
            mat.Diffuse = D3DHelper.ToColor( diffuse );
            mat.Ambient = D3DHelper.ToColor( ambient );
            mat.Specular = D3DHelper.ToColor( specular );
            mat.Emissive = D3DHelper.ToColor( emissive );
            mat.Power = shininess;

            // set the current material
            ActiveD3D9Device.Material = mat;

            if ( tracking != TrackVertexColor.None )
            {
                SetRenderState( RenderState.ColorVertex, true );
                SetRenderState( RenderState.AmbientMaterialSource, (int)( ( ( tracking & TrackVertexColor.Ambient ) != 0 ) ? ColorSource.Color1 : ColorSource.Material ) );
                SetRenderState( RenderState.DiffuseMaterialSource, (int)( ( ( tracking & TrackVertexColor.Diffuse ) != 0 ) ? ColorSource.Color1 : ColorSource.Material ) );
                SetRenderState( RenderState.SpecularMaterialSource, (int)( ( ( tracking & TrackVertexColor.Specular ) != 0 ) ? ColorSource.Color1 : ColorSource.Material ) );
                SetRenderState( RenderState.EmissiveMaterialSource, (int)( ( ( tracking & TrackVertexColor.Emissive ) != 0 ) ? ColorSource.Color1 : ColorSource.Material ) );
            }
            else
            {
                SetRenderState( RenderState.ColorVertex, false );
            }
        }
D3DRenderSystem