Browse Source

rm mistakenly added TerrainShape stuff;

It's not in v0.16.0
bjorn 2 years ago
parent
commit
bdd7b0ca63

File diff suppressed because it is too large
+ 886 - 733
api/init.lua


+ 1 - 2
api/lovr/physics/World/newBoxCollider.lua

@@ -53,7 +53,6 @@ return {
     'World:newCapsuleCollider',
     'World:newCylinderCollider',
     'World:newMeshCollider',
-    'World:newSphereCollider',
-    'World:newTerrainCollider'
+    'World:newSphereCollider'
   }
 }

+ 1 - 2
api/lovr/physics/World/newCapsuleCollider.lua

@@ -48,7 +48,6 @@ return {
     'World:newBoxCollider',
     'World:newCylinderCollider',
     'World:newMeshCollider',
-    'World:newSphereCollider',
-    'World:newTerrainCollider'
+    'World:newSphereCollider'
   }
 }

+ 0 - 1
api/lovr/physics/World/newCollider.lua

@@ -64,7 +64,6 @@ return {
     'World:newCylinderCollider',
     'World:newMeshCollider',
     'World:newSphereCollider',
-    'World:newTerrainCollider',
     'Collider',
     'Shape'
   }

+ 1 - 2
api/lovr/physics/World/newCylinderCollider.lua

@@ -48,7 +48,6 @@ return {
     'World:newBoxCollider',
     'World:newCapsuleCollider',
     'World:newMeshCollider',
-    'World:newSphereCollider',
-    'World:newTerrainCollider'
+    'World:newSphereCollider'
   }
 }

+ 0 - 1
api/lovr/physics/World/newMeshCollider.lua

@@ -44,7 +44,6 @@ return {
     'World:newCapsuleCollider',
     'World:newCylinderCollider',
     'World:newSphereCollider',
-    'World:newTerrainCollider',
     'Model:getTriangles'
   }
 }

+ 1 - 2
api/lovr/physics/World/newSphereCollider.lua

@@ -43,7 +43,6 @@ return {
     'World:newBoxCollider',
     'World:newCapsuleCollider',
     'World:newCylinderCollider',
-    'World:newMeshCollider',
-    'World:newTerrainCollider'
+    'World:newMeshCollider'
   }
 }

+ 0 - 92
api/lovr/physics/World/newTerrainCollider.lua

@@ -1,92 +0,0 @@
-return {
-  tag = 'colliders',
-  summary = 'Add a Collider with a TerrainShape to the World.',
-  description = 'Adds a new Collider to the World with a TerrainShape already attached.',
-  arguments = {
-    scale = {
-      type = 'number',
-      description = 'The width and depth of the terrain, in meters.'
-    },
-    heightmap = {
-      type = 'Image',
-      description = [[
-        A heightmap image describing the terrain elevation at different points.  The red channel
-        brightness of each pixel determines the elevation at corresponding coordinates.
-      ]]
-    },
-    stretch = {
-      type = 'number',
-      default = '1.0',
-      description = [[
-        A vertical multiplier for height values to obtain terrain height.  When the image format has
-        pixel values only in the 0 to 1 range, this can be used to scale the height to meters.
-      ]]
-    },
-    callback = {
-      type = 'function',
-      arguments = {
-        {
-          name = 'x',
-          type = 'number'
-        },
-        {
-          name = 'z',
-          type = 'number'
-        }
-      },
-      returns = {
-        name = 'height',
-        type = 'number'
-      },
-      description = [[
-        A function that computes terrain height from x and z coordinates.  The x and z inputs will
-        range from `-scale / 2` to `scale / 2`.
-      ]]
-    },
-    samples = {
-      type = 'number',
-      default = '100',
-      description = [[
-        The number of samples taken across the x and z dimensions.  More samples will result in
-        higher terrain fidelity, but use more CPU and memory.
-      ]]
-    }
-  },
-  returns = {
-    collider = {
-      type = 'Collider',
-      description = 'The new Collider.'
-    }
-  },
-  variants = {
-    {
-      description = 'Create a flat floor collider.',
-      arguments = { 'scale' },
-      returns = { 'collider' }
-    },
-    {
-      description = 'Create terrain from a heightmap image.',
-      arguments = { 'scale', 'heightmap', 'stretch' },
-      returns = { 'collider' }
-    },
-    {
-      description = 'Create terrain defined with a callback function.',
-      arguments = { 'scale', 'callback', 'samples' },
-      returns = { 'collider' }
-    }
-  },
-  notes = [[
-    The collider will be positioned at 0, 0, 0.  Unlike other colliders, it will automatically be
-    set as kinematic when created.
-  ]],
-  related = {
-    'Collider',
-    'World:newCollider',
-    'World:newBoxCollider',
-    'World:newCapsuleCollider',
-    'World:newCylinderCollider',
-    'World:newSphereCollider',
-    'World:newMeshCollider',
-    'lovr.data.newImage'
-  }
-}

+ 0 - 60
examples/Physics/Terrain/main.lua

@@ -1,60 +0,0 @@
-local function grid(size, subdivisions)
-  local vertices = {}
-  local indices  = {}
-  local step = size / (subdivisions - 1)
-  for z = -size / 2, size / 2, step do
-    for x = -size / 2, size / 2, step do
-      table.insert(vertices, {x, 0, z})
-      table.insert(vertices, {x, 0, z + step})
-      table.insert(vertices, {x + step, 0, z})
-      table.insert(vertices, {x, 0, z + step})
-      table.insert(vertices, {x + step, 0, z + step})
-      table.insert(vertices, {x + step, 0, z})
-    end
-  end
-  return vertices
-end
-
-local function terrain_fn(x, z)
-  return 4 * (lovr.math.noise(x * 0.05, z * 0.05) - 0.5)
-end
-
-function lovr.load()
-  size = 50
-  world = lovr.physics.newWorld(0, -9.81, 0, false)
-  lovr.graphics.setBackgroundColor(0.208, 0.208, 0.275)
-  local vertices, indices = grid(size, 100)
-  for vi = 1, #vertices do
-    local x,y,z = unpack(vertices[vi])
-    vertices[vi][2] = terrain_fn(x, z) -- elevate grid to terrain height
-  end
-  vertexBuffer = lovr.graphics.newBuffer(vertices, 'vec3')
-  world:newTerrainCollider(size, terrain_fn) -- use callback to define elevations
-  box_colliders = {}
-end
-
-function lovr.update(dt)
-  if lovr.timer.getTime() % 1 < dt then -- spawn new box each second
-    local collider = world:newBoxCollider(
-      lovr.math.randomNormal(size / 10, 0),
-      lovr.math.randomNormal(1, 20),
-      lovr.math.randomNormal(size / 10, 0),
-      1)
-    table.insert(box_colliders, collider)
-  end
-  world:update(1 / 60)
-end
-
-function lovr.draw(pass)
-  pass:setColor(0.925, 0.745, 0.137)
-  for _, collider in ipairs(box_colliders) do
-    pass:box(mat4(collider:getPose()))
-  end
-
-  pass:setColor(0.565, 0.404, 0.463)
-  pass:mesh(vertexBuffer)
-
-  pass:setWireframe(true)
-  pass:setColor(0.388, 0.302, 0.412, 0.1)
-  pass:mesh(vertexBuffer)
-end

+ 0 - 1
examples/init.lua

@@ -33,7 +33,6 @@ return {
   'Physics/Hand_Physics',
   'Physics/Newtons_Cradle',
   'Physics/Saloon_Door',
-  'Physics/Terrain',
   'Physics/Wrecking_Ball',
   'Physics/Zip_Line',
   'Audio/Playback',

Some files were not shown because too many files changed in this diff