37 lines
1017 B
Lua
37 lines
1017 B
Lua
local width = 7
|
|
local height = 7
|
|
local distance = 5
|
|
local headMatrix
|
|
|
|
function getHeadsetMatrix()
|
|
local fx, fy, fz, fangle, fax, fay, faz = lovr.headset.getPose("head")
|
|
return lovr.math.newMat4(lovr.math.vec3(fx, fy, fz), lovr.math.vec3(1, 1, 1), lovr.math.quat(fangle, fax, fay, faz))
|
|
end
|
|
|
|
function drawGrid(pass, headMatrix)
|
|
|
|
for i=-0.5,0.5,0.05 do
|
|
local startVect = headMatrix*lovr.math.newVec3(width*-1, height*i, -distance)
|
|
local endVect = headMatrix*lovr.math.newVec3(width*1, height*i, -distance)
|
|
pass:line(startVect, endVect)
|
|
end
|
|
|
|
for i=-0.5,0.5,0.05 do
|
|
local startVect = headMatrix*lovr.math.newVec3(width*i, height*-1, -distance)
|
|
local endVect = headMatrix*lovr.math.newVec3(width*i, height*1, -distance)
|
|
pass:line(startVect, endVect)
|
|
end
|
|
end
|
|
|
|
function lovr.draw(pass)
|
|
local headMatrix = getHeadsetMatrix()
|
|
|
|
pass:setColor(0, 1, 0)
|
|
drawGrid(pass, headMatrix)
|
|
|
|
local center = headMatrix * lovr.math.newVec3(0.0, 0.0, -distance)
|
|
pass:circle(center, 0.05, 0, 0, 0, 1, 'fill')
|
|
|
|
end
|
|
|