Lua's Grammar Is Ambiguous
sebsite.pwIf you start a line with (, [, +, -, or /, then a semicolon is necessary to disambiguate and prevent it from operating on the previous line.
Personally, I like to put a semicolon at the beginning of such a line only, and omit semicolons otherwise where they're unnecessary.
damn I hate cute code; variables are free and don't lead to "wat" outcomes
local theShader = (shaderGiven or g3d.shader)
theShader:send("viewMatrix", camera.viewMatrix)
maybe even without the parens, I'm no lua ninjalike JavaScript