Bläddra i källkod

Update Shapes;

bjorn 1 år sedan
förälder
incheckning
e56dfa90a6
2 ändrade filer med 30 tillägg och 36 borttagningar
  1. 30 16
      examples/Intro/Shapes/main.lua
  2. 0 20
      examples/Intro/Shapes/shader.lua

+ 30 - 16
examples/Intro/Shapes/main.lua

@@ -1,5 +1,3 @@
-shader = require 'shader'
-
 lovr.graphics.setBackgroundColor(.1, .1, .1)
 
 local function drawLabel(pass, str, x, y, z)
@@ -25,45 +23,61 @@ function lovr.draw(pass)
   pass:setColor(1, 1, 1)
   pass:line(points)
 
-  pass:setShader(shader)
-
   -- Plane
-  local x, y, z = -.6, 1.7, -1.5
+  local x, y, z = -.9, 1.7, -1.5
   pass:setColor(.94, .33, .31)
   pass:plane(x, y, z, .4, .4, t)
 
   -- Cube
-  local x, y, z = 0, 1.7, -1.5
+  local x, y, z = -.3, 1.7, -1.5
   pass:setColor(.49, .34, .76)
   pass:cube(x, y, z, .3, t)
 
+  -- Roundrect
+  local x, y, z = .3, 1.7, -1.5
+  pass:setColor(.79, .34, .84)
+  pass:roundrect(x, y, z, .4, .4, .1, t, 0, 1, 0, .05)
+
   -- Box
-  local x, y, z = .6, 1.7, -1.5
+  local x, y, z = .9, 1.7, -1.5
   pass:setColor(1, .65, .18)
   pass:box(x, y, z, .4, .2, .3, t)
 
   -- Cylinder
-  local x, y, z = -.6, 2.4, -2
+  local x, y, z = -1.2, 2.4, -2
   pass:setColor(.4, .73, .42)
   pass:cylinder(x, y, z, .1, .4, t)
 
   -- Cone
-  local x, y, z = 0, 2.2, -2
+  local x, y, z = -.6, 2.2, -2
   pass:setColor(1, .95, .46)
   pass:cone(x, y, z, .18, .4, math.pi / 2, 1, 0, 0)
 
   -- Sphere
-  local x, y, z = .6, 2.4, -2
+  local x, y, z = 0, 2.4, -2
   pass:setColor(.3, .82, 1)
   pass:sphere(x, y, z, .2)
 
+  -- Capsule
+  local x, y, z = .6, 2.4, -2
+  pass:setColor(.3, .22, 1)
+  pass:capsule(x, y, z, .1, .3, t)
+
+  -- Torus
+  local x, y, z = 1.2, 2.4, -2
+  pass:setColor(.8, .8, .4)
+  pass:torus(x, y, z, .25, .1, t)
+
   pass:setShader()
   drawLabel(pass, 'Point', -.3, 1.4, -1)
   drawLabel(pass, 'Line', .3, 1.4, -1)
-  drawLabel(pass, 'Plane', -.6, 2.0, -1.5)
-  drawLabel(pass, 'Cube', 0, 2.0, -1.5)
-  drawLabel(pass, 'Box', .6, 2.0, -1.5)
-  drawLabel(pass, 'Cylinder', -.6, 2.7, -2)
-  drawLabel(pass, 'Cone', 0, 2.7, -2)
-  drawLabel(pass, 'Sphere', .6, 2.7, -2)
+  drawLabel(pass, 'Plane', -.9, 2.0, -1.5)
+  drawLabel(pass, 'Cube', -.3, 2.0, -1.5)
+  drawLabel(pass, 'Roundrect', .3, 2.0, -1.5)
+  drawLabel(pass, 'Box', .9, 2.0, -1.5)
+  drawLabel(pass, 'Cylinder', -1.2, 2.7, -2)
+  drawLabel(pass, 'Cone', -.6, 2.7, -2)
+  drawLabel(pass, 'Sphere', 0, 2.7, -2)
+  drawLabel(pass, 'Capsule', .6, 2.7, -2)
+  drawLabel(pass, 'Torus', 1.2, 2.7, -2)
 end

+ 0 - 20
examples/Intro/Shapes/shader.lua

@@ -1,20 +0,0 @@
-return lovr.graphics.newShader([[
-vec4 lovrmain() {
-  PointSize = 5.0;
-  return DefaultPosition;
-}
-]], [[
-vec4 lovrmain() {
-  const vec3 lightPosition = vec3(0., 2.0, -1.);
-  float distance = length(PositionWorld - lightPosition);
-  const vec3 lightDirection = normalize(PositionWorld - lightPosition);
-  const vec4 lightColor = vec4(1, 1, 1, 5);
-
-  Surface surface;
-  initSurface(surface);
-
-  vec3 lighting = getLighting(surface, lightDirection, lightColor, 1.0 / distance);
-
-  return vec4(Color.rgb * lighting, Color.a);
-}
-]])