Exemplo n.º 1
0
 public void Draw(PixelClipping clipping)
 {
     if (Render != null)
     {
         Render.Draw(this, clipping);
     }
 }
Exemplo n.º 2
0
 public static void RenderEntries(List <GraphicSubmit> renderList, PixelClipping clipping)
 {
     for (int i = 0, len = renderList.Count; i < len; i++)
     {
         renderList[i].Draw(clipping);
     }
 }
Exemplo n.º 3
0
        public void Draw(GraphicSubmit comp, PixelClipping clipping)
        {
            Current  = comp;
            Clipping = clipping;

            var graphic = comp.Graphic;
            var node    = comp.Node;
            var scene   = comp.Scene;

            var material = graphic.Material;

            if (material != null)
            {
                material.Bind(this);
            }

            Bind(clipping);

            FrameTechnique technique = null;

            if (node != null)
            {
                Bind(node);
                technique = node.Technique;
                if (technique != null)
                {
                    technique.Bind(this);
                }
            }

            scene.BindScene(this);

            Draw((T)(graphic));

            if (technique != null)
            {
                technique.NbEntries--;
                technique.UnBind(this);
            }
        }
Exemplo n.º 4
0
        public static void RenderSceneRenderList(List <GraphicSubmit> entries, bool useLights = true, PixelClipping clipping = PixelClipping.None)
        {
            var scene        = Engine.Scene;
            var activeLights = scene.ActiveLights;
            int nbLight      = useLights ? activeLights.Count : 1;

            if (nbLight > 0 && useLights)
            {
                Light.Current = activeLights[0];
            }

            RenderEntries(entries, clipping);

            if (useLights)
            {
                for (int i = 1; i < nbLight; i++)
                {
                    Light.Current = activeLights[i];
                    RenderEntries(entries, clipping);
                }
            }
        }