Exemple #1
0
        /// <summary>
        /// Draw the secne
        /// </summary>
        protected override void PerformRender( )
        {
            if (axisRender != null)
            {
                axisRender.Render( );
            }

            if (gridRender != null)
            {
                gridRender.Render( );
            }

            if (parallelRender != null)
            {
                parallelRender.Render( );
            }

            if (domainRender != null)
            {
                domainRender.Render( );
            }

            if (meshRender != null)
            {
                meshRender.Render( );
            }

            if (gridPointRender != null)
            {
                gridPointRender.Render( );
            }


            d3d.Dx.RenderState.AlphaBlendEnable = true;
            d3d.Dx.RenderState.CullMode         = Cull.None;

            d3d.Dx.RenderState.SourceBlend      = Blend.SourceAlpha;
            d3d.Dx.RenderState.DestinationBlend = Blend.InvSourceAlpha;

            //Render the single geometry with its ditance to the near plane of view from big to small
            for (int i = singleRenders.Count - 1; i >= 0; i--)
            {
                singleRenders[i].Render( );
            }

            d3d.Dx.RenderState.CullMode         = Cull.CounterClockwise;
            d3d.Dx.RenderState.AlphaBlendEnable = false;
        }