Ejemplo n.º 1
0
        private static void Main(string[] args)
        {
            if (args.Length != 1)
            {
                Console.WriteLine("Args: filepath");
                return;
            }
            else
            {
                var file = args[0];
                var form = new RenderForm("Assimp Viewer");
                form.Show();
                using (var app = new AssimpViewWindow(file))
                {
                    app.Initialize(form);

                    using (var loop = new RenderLoop(form))
                    {
                        while (loop.NextFrame())
                        {
                            app.Update();
                            app.Render();
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            Debug.Listeners.Add(new TextWriterTraceListener(Console.Out));

            var supported = Device.GetSupportedFeatureLevel();
            Console.WriteLine("device supported {0}", supported);

            if (supported < SharpDX.Direct3D.FeatureLevel.Level_10_0)
            return;

            TSOConfig tso_config;

            string tso_config_file = Path.Combine(Application.StartupPath, @"config.xml");
            if (File.Exists(tso_config_file))
            tso_config = TSOConfig.Load(tso_config_file);
            else
            tso_config = new TSOConfig();

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            //Application.Run(new TSOForm(tso_config, args));

            TSOForm form = new TSOForm(tso_config, args);

            form.Show();
            using (RenderLoop loop = new RenderLoop(form))
            {
            while (loop.NextFrame())
            {
                form.FrameMove();
            }
            }
        }
Ejemplo n.º 3
0
 public void Run()
 {
     using (var Loop = new RenderLoop(Form))
     {
         while (Loop.NextFrame())
         {
             Update();
             Render();
         }
     }
 }
Ejemplo n.º 4
0
 public void Run()
 {
     using (var loop = new RenderLoop(Core.Form))
     {
         while (loop.NextFrame())
         {
             Core.Update();
             Core.Render();
         }
     }
 }
Ejemplo n.º 5
0
 public void Run() {
     if (!IsInitialized || _hasRun) {
         return;
     }
     IsRunning = true;
     _hasRun = true;
     Timer.Reset();
     ControlWindow.Show();
     ControlWindow.Focus();
     using (var renderLoop = new RenderLoop(ControlWindow)) {
         while (renderLoop.NextFrame()) {
             Render();
         }
     }
 }
Ejemplo n.º 6
0
        static void Main(string[] args)
        {
            var form = new RenderForm("CubeRender");

            using (var app = new CubeRender())
            {
                form.Show();
                app.Initialize(form);

                using (var loop = new RenderLoop(form))
                {
                    while (loop.NextFrame())
                    {
                        app.Update();
                        app.Render();
                    }
                }
            }
        }
Ejemplo n.º 7
0
        static void Main(string[] args)
        {
            var form = new RenderForm("HelloWorldD3D12");

            using (var helloTriangle = new HelloWorld())
            {
                form.Show();
                helloTriangle.Initialize(form);

                using (var loop = new RenderLoop(form))
                {
                    while (loop.NextFrame())
                    {
                        helloTriangle.Update();
                        helloTriangle.Render();
                    }
                }
            }
        }
        public static void Run()
        {
            var form = new RenderForm("HelloWorld D3D12");
            form.Icon = null;
            using (var helloTriangle = new DX12Test())
            {
                form.Show();
                helloTriangle.Initialize(form);

                using (var loop = new RenderLoop(form))
                {
                    while (loop.NextFrame())
                    {
                        helloTriangle.Update();
                        helloTriangle.Render();
                    }
                }
            }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Runs the specified main loop for the specified windows form.
        /// </summary>
        /// <param name="form">The form.</param>
        /// <param name="renderCallback">The rendering callback.</param>
        public static void Run(Control form, RenderCallback renderCallback)
        {
            if (form == null)
            {
                throw new ArgumentNullException("form");
            }
            if (renderCallback == null)
            {
                throw new ArgumentNullException("renderCallback");
            }

            form.Show();
            using (var renderLoop = new RenderLoop(form))
            {
                while (renderLoop.NextFrame())
                {
                    renderCallback();
                }
            }
        }
Ejemplo n.º 10
0
        static void Main()
        {
            var form = new RenderForm("Hello Render Target. Press 1-2-3");
            form.Width = 1280;
            form.Height = 800;
            form.Show();

            using (HelloMesh app = new HelloMesh())
            {
                app.Initialize(form);

                using (var loop = new RenderLoop(form))
                {
                    while (loop.NextFrame())
                    {
                        app.Update();
                        app.Render();
                    }
                }
            }
        }
Ejemplo n.º 11
0
        static void Main(string[] args)
        {
            var form = new RenderForm("ModelRender");

            using (var app = new ModelRender())
            {
                form.Width = 1440;
                form.Height = 900;
                form.Show();
                app.Initialize(form);

                using (var loop = new RenderLoop(form))
                {
                    while (loop.NextFrame())
                    {
                        app.Update();
                        app.Render();
                    }
                }
            }
        }
Ejemplo n.º 12
0
        static void Main(string[] args)
        {
            var form = new RenderForm("HelloWorldD3D12");

            using (var helloTriangle = new HelloWorldShared.HelloWorld())
            {
                form.Show();
                form.ClientSizeChanged += (o, e) => helloTriangle.Resize(form.ClientSize.Width, form.ClientSize.Height);

                helloTriangle.Initialize(form);

                using (var loop = new RenderLoop(form))
                {
                    while (loop.NextFrame())
                    {
                        helloTriangle.Update();
                        helloTriangle.Render();
                    }
                }
            }
        }
Ejemplo n.º 13
0
        static void Main()
        {
            var form = new RenderForm("Hello Bundles");
            form.Width = 1280;
            form.Height = 800;
            form.Show();

            using (HelloBundles app = new HelloBundles())
            {
                app.Initialize(form);

                using (var loop = new RenderLoop(form))
                {
                    while (loop.NextFrame())
                    {
                        app.Update();
                        app.Render();
                    }
                }
            }
        }
Ejemplo n.º 14
0
        static void Main()
        {
            var form = new RenderForm("Hello Constant Buffer")
            {
                Width = 1280,
                Height = 800
            };
            form.Show();

            using (var app = new HelloConstBuffers())
            {
                app.Initialize(form);

                using (var loop = new RenderLoop(form))
                {
                    while (loop.NextFrame())
                    {
                        app.Update();
                        app.Render();
                    }
                }
            }
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Runs the specified main loop for the specified windows form.
        /// </summary>
        /// <param name="form">The form.</param>
        /// <param name="renderCallback">The rendering callback.</param>
        /// <param name="useApplicationDoEvents">if set to <c>true</c> indicating whether the render loop should use the default <see cref="Application.DoEvents"/> instead of a custom window message loop lightweight for GC. Default is false.</param>
        /// <exception cref="System.ArgumentNullException">form
        /// or
        /// renderCallback</exception>
        public static void Run(Control form, RenderCallback renderCallback, bool useApplicationDoEvents = false)
        {
            if (form == null)
            {
                throw new ArgumentNullException("form");
            }
            if (renderCallback == null)
            {
                throw new ArgumentNullException("renderCallback");
            }

            form.Show();
            using (var renderLoop = new RenderLoop(form)
            {
                UseApplicationDoEvents = useApplicationDoEvents
            })
            {
                while (renderLoop.NextFrame())
                {
                    renderCallback();
                }
            }
        }
Ejemplo n.º 16
0
        /// <inheritdoc />
        internal override void Run()
        {
            Debug.Assert(InitCallback != null);
            Debug.Assert(RunCallback != null);

            InitCallback();

            try
            {
                // Use custom render loop
                Control.Show();
                using (renderLoop = new RenderLoop(Control))
                {
                    while (renderLoop.NextFrame())
                    {
                        if (Exiting)
                        {
                            if (Control != null)
                            {
                                Control.Dispose();
                                Control = null;
                            }
                            break;
                        }

                        RunCallback();
                    }
                }
            }
            finally
            {
                if (ExitCallback != null)
                {
                    ExitCallback();
                }
            }
        }
Ejemplo n.º 17
0
        private void RunRenderLoop()
        {
            Debug.Assert(InitCallback != null);
            Debug.Assert(RunCallback != null);

            InitCallback();

            try
            {
                // Use custom render loop
                // Show the control for WinForm, let HwndHost show it for WPF
                if (wpfBorderControl == null)
                    Control.Show();

                using (renderLoop = new RenderLoop(Control) { UseApplicationDoEvents = GameContext.UseApplicationDoEvents })
                {
                    while (renderLoop.NextFrame())
                    {
                        if (Exiting)
                        {
                            if (Control != null)
                            {
                                Control.Dispose();
                                Control = null;
                            }
                            break;
                        }

                        RunCallback();
                    }
                }
            }
            finally
            {
                if (ExitCallback != null)
                {
                    ExitCallback();
                }
            }
        }
Ejemplo n.º 18
0
        /// <summary>
        /// Runs the specified main loop for the specified windows form.
        /// </summary>
        /// <param name="form">The form.</param>
        /// <param name="renderCallback">The rendering callback.</param>
        public static void Run(Control form, RenderCallback renderCallback)
        {
            if(form == null) throw new ArgumentNullException("form");
            if(renderCallback == null) throw new ArgumentNullException("renderCallback");

            form.Show();
            using(var renderLoop = new RenderLoop(form))
            {
                while(renderLoop.NextFrame())
                {
                    renderCallback();
                }
            }
        }
Ejemplo n.º 19
0
        /// <summary>
        /// Runs the specified main loop for the specified windows form.
        /// </summary>
        /// <param name="form">The form.</param>
        /// <param name="renderCallback">The rendering callback.</param>
        /// <param name="useApplicationDoEvents">if set to <c>true</c> indicating whether the render loop should use the default <see cref="Application.DoEvents"/> instead of a custom window message loop lightweight for GC. Default is false.</param>
        /// <exception cref="System.ArgumentNullException">form
        /// or
        /// renderCallback</exception>
        public static void Run(Control form, RenderCallback renderCallback, bool useApplicationDoEvents = false)
        {
            if(form == null) throw new ArgumentNullException("form");
            if(renderCallback == null) throw new ArgumentNullException("renderCallback");

            form.Show();
            using (var renderLoop = new RenderLoop(form) { UseApplicationDoEvents = useApplicationDoEvents })
            {
                while(renderLoop.NextFrame())
                {
                    renderCallback();
                }
            }
        }