예제 #1
0
파일: Program.cs 프로젝트: ssinai1/rbfx
 private void Run(string[] args)
 {
     Urho3D.ParseArguments(Assembly.GetExecutingAssembly(), args);
     Context.SetRuntimeApi(new ScriptRuntimeApiReloadableImpl());
     using (var context = new Context())
     {
         using (Application editor = Application.CreateApplicationFromFactory(context, CreateApplication))
         {
             Environment.ExitCode = editor.Run();
         }
     }
 }
예제 #2
0
파일: Program.cs 프로젝트: ssinai1/rbfx
        private void Run(string[] args)
        {
            Urho3D.ParseArguments(Assembly.GetExecutingAssembly(), args);

            // TODO: iOS does not allow runtime-compiled code.
            Context.SetRuntimeApi(new CompiledScriptRuntimeApiImpl());
            using (var context = new Context())
            {
                using (var player = Application.CreateApplicationFromFactory(context, CreateApplication))
                {
                    Environment.ExitCode = player.Run();
                }
            }
        }
예제 #3
0
파일: Program.cs 프로젝트: hyunjunekim/rbfx
        private void Run(string[] args)
        {
            var argc = args.Length + 1;                 // args + executable path
            var argv = new string[args.Length + 2];     // args + executable path + null

            argv[0] = new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath;
            args.CopyTo(argv, 1);
            Urho3D.ParseArguments(argc, argv);

            using (_context = new Context())
            {
                using (Application editor = Application.wrap(CreateApplication(Context.getCPtr(_context).Handle), true))
                {
                    Environment.ExitCode = editor.Run();
                }
            }
        }
예제 #4
0
파일: Program.cs 프로젝트: elix22/Urho3D-1
        private void Run(string[] args)
        {
            int argc = args.Length + 1;                 // args + executable path
            var argv = new string[args.Length + 2];     // args + executable path + null

            argv[0] = new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath;
            args.CopyTo(argv, 1);
            Urho3D.ParseArguments(argc, argv);

            Context.SetRuntimeApi(new ScriptRuntimeApiReloadableImpl());
            using (var context = new Context())
            {
                using (Application editor = Application.CreateApplicationFromFactory(context, CreateApplication))
                {
                    Environment.ExitCode = editor.Run();
                }
            }
        }
예제 #5
0
        internal bool GenerateTangents()
        {
            Logger.Log("Generating Tangents");
            UseLargeIndex = true;
            var vbPoints        = GetVbArray();
            var IndexData       = GetLongIndexData();
            var tangentPosition = TangentStart();
            var vbSize          = GetVBSize();

            if (IndexData == null)
            {
                Logger.Log($"Maximum Limits Reached for this Model {Name}");
                return(false);
            }

            Urho3D.GenerateTangents(vbPoints, vbSize, IndexData, IndexSize(), 0, IndexData.Length, tangentPosition);

            var ps         = vbPoints.ToList();
            var facescount = Engine_Faces.Count;
            var pointSize  = Engine_Faces[0].EngTriangles[0].V1.GetSize();
            var triangles  = Engine_Faces.SelectMany(o => o.EngTriangles).ToList();

            foreach (var engTriangle in triangles)
            {
                var triIndex   = triangles.IndexOf(engTriangle);
                int rangestart = triIndex * 3 * pointSize;
                var range      = ps.GetRange(rangestart, 3 * pointSize);

                for (int rangeIndex = 0; rangeIndex < range.Count; rangeIndex++)
                {
                    var triPoints = engTriangle.GetPoints();
                    foreach (var engPoint in triPoints)
                    {
                        engPoint.EngTangent.X = range[tangentPosition];
                        engPoint.EngTangent.Y = range[tangentPosition + 1];
                        engPoint.EngTangent.Z = range[tangentPosition + 2];
                        engPoint.EngTangent.L = range[tangentPosition + 3];
                    }
                }
            }

            return(true);
        }
예제 #6
0
        private void Run(string[] args)
        {
            int argc = args.Length + 1;                 // args + executable path
            var argv = new string[args.Length + 2];     // args + executable path + null

            argv[0] = new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath;
            args.CopyTo(argv, 1);
            Urho3D.ParseArguments(argc, argv);

            // TODO: iOS does not allow runtime-compiled code.
            Context.SetRuntimeApi(new CompiledScriptRuntimeApiImpl());
            using (var context = new Context())
            {
                using (var player = Application.CreateApplicationFromFactory(context, CreateApplication))
                {
                    Environment.ExitCode = player.Run();
                }
            }
        }