コード例 #1
0
        private static void Main(string[] args)
        {
            library = nativeLibrary.ActivateInterface <IX3DNative>("EngineRenderer");

            FileLoader.TestPath();
            Debug.Log("Opening window");
            _mainWindow = new GlfwWindow();

            TestError();

            RustError  err     = library.last_error_message();
            RustString message = new RustString(err.message);

            Console.WriteLine(message.AsString());

            while (!_mainWindow.Closed())
            {
                var currentFrame = DateTime.Now;
                var deltaTime    = (currentFrame - _lastFrame).TotalSeconds;
                var deltaTimeMs  = (currentFrame - _lastFrame).TotalMilliseconds;
                _mainWindow.UpdateTitle($"Crazy Engine - {deltaTimeMs} ms -- FPS: {1.0 / deltaTime}");
                // TestRender();
                _mainWindow.Update();
                _lastFrame = currentFrame;
            }

            _mainWindow.Dispose();
        }
コード例 #2
0
ファイル: X3dMaterial.cs プロジェクト: vic485/CrazyEngine
        public X3DMaterial(X3DShader shader)
        {
            library = nativeLibrary.ActivateInterface <IX3DNative>("EngineRenderer");

            db = library.x3d_new_material(shader.GetHandle());
            // db = X3DMaterialNative.CreateX3DMaterial(shader.GetHandle());
            this.shader = shader;
        }
コード例 #3
0
ファイル: X3dShader.cs プロジェクト: vic485/CrazyEngine
        protected override bool ReleaseHandle()
        {
            if (!this.IsInvalid)
            {
                var        NativeLibraryBuilder = new NativeLibraryBuilder();
                IX3DNative library = NativeLibraryBuilder.Default.ActivateInterface <IX3DNative>("EngineRenderer");

                library.x3d_drop_shader(handle);
            }

            return(true);
        }
コード例 #4
0
        public X3DMesh(X3DRenderer renderer)
        {
            library = nativeLibrary.ActivateInterface <IX3DNative>("EngineRenderer");

            db = library.x3d_new_mesh();

            // db = X3DMeshNative.CreateX3DMesh(renderer.GetHandle());

            //Check for errors
            RustError  err     = library.last_error_message();
            RustString message = new RustString(err.message);

            Console.WriteLine(message.AsString());
            //Not checking anything right now though :)
        }
コード例 #5
0
ファイル: X3dShader.cs プロジェクト: vic485/CrazyEngine
        public X3DShader(string vs, string gs, string ts, string fs)
        {
            library = nativeLibrary.ActivateInterface <IX3DNative>("EngineRenderer");

            db = library.x3d_new_shader(vs, gs, ts, fs);

            // db = X3DShaderNative.CreateX3DShader(vs, gs, ts, fs);

            //Check for errors
            RustError  err     = library.last_error_message();
            RustString message = new RustString(err.message);

            Console.WriteLine(message.AsString());
            //Not checking anything right now though :)
        }
コード例 #6
0
        public X3DCamera(float fovy, float z_near, float z_far, float aperture, float shutter_speed, float iso, RustVector3 position) //, Quaternion rotation
        {
            library = nativeLibrary.ActivateInterface <IX3DNative>("EngineRenderer");

            db = library.x3d_new_camera(fovy, z_near, z_far, aperture, shutter_speed, iso, position); //, rotation
        }
コード例 #7
0
        public X3DCamera()
        {
            library = nativeLibrary.ActivateInterface <IX3DNative>("EngineRenderer");

            db = library.x3d_new_camera_default();
        }
コード例 #8
0
ファイル: X3dBinding.cs プロジェクト: vic485/CrazyEngine
        public X3DRenderer(uint width, uint height)
        {
            library = nativeLibrary.ActivateInterface <IX3DNative>("EngineRenderer");

            db = library.x3d_new_renderer(width, height);
        }