Browse Source

Math conf flags;

bjorn 6 years ago
parent
commit
ba2465cd5c
2 changed files with 39 additions and 1 deletions
  1. 18 1
      api/init.lua
  2. 21 0
      api/lovr/callbacks/conf.lua

+ 18 - 1
api/init.lua

@@ -42,6 +42,23 @@ return {
                     }
                     }
                   }
                   }
                 },
                 },
+                {
+                  name = "math",
+                  type = "table",
+                  description = "Configuration for the math module.",
+                  table = {
+                    {
+                      name = "ffi",
+                      type = "boolean",
+                      description = "Whether vector objects should use an optimized LuaJIT FFI codepath."
+                    },
+                    {
+                      name = "globals",
+                      type = "boolean",
+                      description = "Whether vector object functions should be added to the global scope."
+                    }
+                  }
+                },
                 {
                 {
                   name = "modules",
                   name = "modules",
                   type = "table",
                   type = "table",
@@ -153,7 +170,7 @@ return {
       examples = {
       examples = {
         {
         {
           description = "A noop conf.lua that sets all configuration settings to their defaults:",
           description = "A noop conf.lua that sets all configuration settings to their defaults:",
-          code = "function lovr.conf(t)\n\n  -- Set the project identity\n  t.identity = 'default'\n\n  -- Headset settings\n  t.headset.drivers = { 'leap', 'openxr', 'oculus', 'oculusmobile', 'openvr', 'webvr', 'desktop' }\n  t.headset.msaa = 4\n  t.headset.offset = 1.7\n\n  -- Enable or disable different modules\n  t.modules.audio = true\n  t.modules.data = true\n  t.modules.event = true\n  t.modules.graphics = true\n  t.modules.headset = true\n  t.modules.math = true\n  t.modules.physics = true\n  t.modules.thread = true\n  t.modules.timer = true\n\n  -- Configure gamma correction\n  t.gammacorrect = false\n\n  -- Configure the desktop window\n  t.window.width = 1080\n  t.window.height = 600\n  t.window.fullscreen = false\n  t.window.msaa = 0\n  t.window.title = 'LÖVR'\n  t.window.icon = nil\nend"
+          code = "function lovr.conf(t)\n\n  -- Set the project identity\n  t.identity = 'default'\n\n  -- Headset settings\n  t.headset.drivers = { 'leap', 'openxr', 'oculus', 'oculusmobile', 'openvr', 'webvr', 'desktop' }\n  t.headset.msaa = 4\n  t.headset.offset = 1.7\n\n  -- Math settings\n  t.math.ffi = true\n  t.math.globals = true\n\n  -- Enable or disable different modules\n  t.modules.audio = true\n  t.modules.data = true\n  t.modules.event = true\n  t.modules.graphics = true\n  t.modules.headset = true\n  t.modules.math = true\n  t.modules.physics = true\n  t.modules.thread = true\n  t.modules.timer = true\n\n  -- Configure gamma correction\n  t.gammacorrect = false\n\n  -- Configure the desktop window\n  t.window.width = 1080\n  t.window.height = 600\n  t.window.fullscreen = false\n  t.window.msaa = 0\n  t.window.title = 'LÖVR'\n  t.window.icon = nil\nend"
         }
         }
       },
       },
       notes = "Disabling the `headset` module can improve startup time a lot if you aren't intending to use `lovr.headset`.\n\nYou can set `t.window` to nil to avoid creating the window. You can do it yourself later by using `lovr.graphics.createWindow`.\n\nIf the `lovr.graphics` module is disabled or the window isn't created, attempting to use any functionality requiring graphics may cause a crash.\n\nThe `headset.offset` field is a vertical offset applied to the scene for headsets that do not center their tracking origin on the floor.  This can be thought of as a \"default user height\". Setting this offset makes it easier to design experiences that work in both seated and standing VR configurations."
       notes = "Disabling the `headset` module can improve startup time a lot if you aren't intending to use `lovr.headset`.\n\nYou can set `t.window` to nil to avoid creating the window. You can do it yourself later by using `lovr.graphics.createWindow`.\n\nIf the `lovr.graphics` module is disabled or the window isn't created, attempting to use any functionality requiring graphics may cause a crash.\n\nThe `headset.offset` field is a vertical offset applied to the scene for headsets that do not center their tracking origin on the floor.  This can be thought of as a \"default user height\". Setting this offset makes it easier to design experiences that work in both seated and standing VR configurations."

+ 21 - 0
api/lovr/callbacks/conf.lua

@@ -39,6 +39,23 @@ return {
             }
             }
           }
           }
         },
         },
+        {
+          name = 'math',
+          type = 'table',
+          description = 'Configuration for the math module.',
+          table = {
+            {
+              name = 'ffi',
+              type = 'boolean',
+              description = 'Whether vector objects should use an optimized LuaJIT FFI codepath.'
+            },
+            {
+              name = 'globals',
+              type = 'boolean',
+              description = 'Whether vector object functions should be added to the global scope.'
+            }
+          }
+        },
         {
         {
           name = 'modules',
           name = 'modules',
           type = 'table',
           type = 'table',
@@ -170,6 +187,10 @@ return {
           t.headset.msaa = 4
           t.headset.msaa = 4
           t.headset.offset = 1.7
           t.headset.offset = 1.7
 
 
+          -- Math settings
+          t.math.ffi = true
+          t.math.globals = true
+
           -- Enable or disable different modules
           -- Enable or disable different modules
           t.modules.audio = true
           t.modules.audio = true
           t.modules.data = true
           t.modules.data = true