Esempio n. 1
0
        void CreateCommands()
        {
            var commands = new LinkedList <Command>();

            foreach (var renderable in renderMapper)
            {
                var           technique = renderable.Technique;
                var           model     = renderable.Model;
                RenderCommand renderCommand;
                if (technique.Mapping.Key.Supports(VertexShaderFlags.InstanceWorld))
                {
                    renderCommand = new InstancingRenderCommand(Services, technique, model, renderable.Entities);
                }
                else
                {
                    renderCommand = new TechniqueRenderCommand(Services, technique, model, renderable.Entities);
                }
                commands.AddLast(renderCommand);
            }


            var sv             = new StateViewer(Services, commands);
            var resultCommands = sv.Analyze();

            if (resultCommands == null)
            {
                LogEvent.Engine.Error("Nothing to render!");
            }
            else
            {
                Messenger.Send(new CommandUpdateMessage(resultCommands));
            }
            IsEnabled = false;
        }
Esempio n. 2
0
        public IEnumerable <Command> Result()
        {
            StateViewer sv = new StateViewer(services, commands);

            return(sv.Analyze());
        }