| 1234567891011121314151617181920212223242526272829 |
- function lovr.draw(pass)
- --error_me()
- -- draw ground and 12 rotating blocks around world origin
- pass:setColor(0x204316)
- pass:cylinder(mat4(0,-1,0):rotate(math.pi/2, 1,0,0))
- pass:setColor(0xcf9733)
- for angle = 0, math.pi * 2, math.pi / 6 do
- local pose = mat4()
- pose:rotate(angle + lovr.timer.getTime() / 10, 0,1,0) -- rotate over Y axis
- pose:translate(0, 1, -2) -- move away from origin
- pose:scale(0.8, 0.3, 0.1) -- block size
- pass:box(pose)
- end
- -- draw blocks synced to hand controllers
- pass:setColor(0xd2b793)
- for _, handName in ipairs(lovr.headset and lovr.headset.getHands() or {}) do
- local skeleton = lovr.headset.getSkeleton(handName)
- if skeleton then
- for _, bone in ipairs(skeleton) do
- local x, y, z, r, angle, ax,ay,az = unpack(bone)
- pass:sphere(mat4(x, y, z, angle, ax,ay,az):scale(0.004, 0.002, 0.006))
- end
- else
- local handPose = mat4(lovr.headset.getPose(handName))
- handPose:scale(0.04, 0.08, 0.08)
- pass:box(handPose)
- end
- end
- end
|