-- Renders a side-by-side stereo image on a plane, resulting in a 3D effect function lovr.load() sbsTexture = lovr.graphics.newTexture('sbs_left_right.png', { mipmaps = false }) sbsShader = lovr.graphics.newShader([[ vec4 lovrmain() { return DefaultPosition; } ]], [[ vec4 lovrmain() { vec2 newUV = clamp(UV, 0., 1.) * vec2(.5, 1.) + vec2(ViewIndex) * vec2(.5, 0.); // Use this instead for top-bottom stereo // vec2 newUV = clamp(UV, 0., 1.) * vec2(1., .5) + vec2(ViewIndex) * vec2(0., .5); return getPixel(ColorTexture, newUV); } ]]) lovr.graphics.setBackgroundColor(.05, .05, .05) end function lovr.draw(pass) pass:setMaterial(sbsTexture) pass:setShader(sbsShader) pass:plane(0, 1, -2, 2.5, 2) end