public void DrawTransparent(RenderState state)
        {
            while (!_sorted)
            {
            }
            if (!_filled)
            {
                FillBillboards();
            }
            Billboards lastbb = null;

            for (int i = transparentCommand - 1; i >= 0; i--)
            {
                if (lastbb != null && Transparents[cmdptr[i]].CmdType != RenderCmdType.Billboard && Transparents[cmdptr[i]].CmdType != RenderCmdType.BillboardCustom)
                {
                    lastbb.FlushCommands(state);
                    lastbb = null;
                }
                lastbb = (Transparents[cmdptr[i]].Source as Billboards);
                Transparents[cmdptr[i]].Run(state);
            }
            if (lastbb != null)
            {
                lastbb.FlushCommands(state);
            }
        }
        public void DrawTransparent(RenderContext context)
        {
            Billboards lastbb = null;

            for (int i = transparentCommand - 1; i >= 0; i--)
            {
                if (lastbb != null && Transparents[cmdptr[i]].CmdType != RenderCmdType.Billboard)
                {
                    lastbb.FlushCommands(context);
                    lastbb = null;
                }
                lastbb = (Transparents[cmdptr[i]].Source as Billboards);
                Transparents[cmdptr[i]].Run(context);
            }
            if (lastbb != null)
            {
                lastbb.FlushCommands(context);
            }
        }