MGShaderEditor.Game1.Draw C# (CSharp) Метод

Draw() защищенный Метод

This is called when the game should draw itself.
protected Draw ( GameTime gameTime ) : void
gameTime Microsoft.Xna.Framework.GameTime Provides a snapshot of timing values.
Результат void
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.CornflowerBlue);

            if (m_curEffect != null)
            {

                //Set Matrices
                var p1 = m_curEffect.Parameters["xWorld"];
                if (p1 != null)
                    p1.SetValue(m_World);

                var p2 = m_curEffect.Parameters["xView"];
                if (p2 != null)
                    p2.SetValue(m_camera.View);

                var p3 = m_curEffect.Parameters["xProjection"];
                if (p3 != null)
                    p3.SetValue(m_camera.Projection);


                //Set textures
                //for (int i = 0; i < m_texSlots.Length; i++)
                //{
                //    if (m_texSlots[i] != null)
                //    {
                //        var p4 = m_curEffect.Parameters[string.Format("xTexSlot{0}", i)];
                //        if (p4 != null)
                //            p4.SetValue(m_texSlots[i]);
                //    }
                //}

                //UI Parameters
                foreach (var p in Parameters)
                {
                    var px = m_curEffect.Parameters[p.Name];

                    //UIFloatParam
                    if (px!=null && px.ParameterType==EffectParameterType.Single && p is UIFloatParam)
                    {
                        var floatParam = p as UIFloatParam;
                        px.SetValue(floatParam.Value);
                    }
                    //UITexture2DParam
                    else if (px != null && px.ParameterType == EffectParameterType.Texture2D && p is UITexture2DParam)
                    {
                        var texParam = p as UITexture2DParam;
                        Texture2D tex = null;
                        int idx = 0;
                        if (int.TryParse(texParam.Value, out idx))
                        {
                            if (idx >= 0 && idx < m_texSlots.Length && m_texSlots[idx]!=null)
                            {
                                tex = m_texSlots[idx];
                            }
                        }
                        px.SetValue(tex);

                    }

                }


                //Set pass0
                m_curEffect.CurrentTechnique.Passes[0].Apply();

                //Draw
                CurPrimitive.Draw(m_curEffect);

            }

            base.Draw(gameTime);
        }