123456789101112131415161718192021222324252627 |
- -- 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
|