Making a "flashlight"

Ok, so I’ve been fiddling around with the render_script , placing out clears in different spots, but I have no real idea what I’m doing :confused:

Code looks like this:

function update(self)
render.set_viewport(0, 0, render.get_window_width(), render.get_window_height())
render.clear({[render.BUFFER_COLOR_BIT] = vmath.vector4(1, 0, 0, 0)})
render.disable_state(render.STATE_DEPTH_TEST)

render.enable_render_target(self.light_rt)
render.set_viewport(0, 0, render.get_window_width(), render.get_window_height())
render.set_view(self.view)
render.set_depth_mask(false)
render.set_projection(vmath.matrix4_orthographic(0, render.get_width(), 0, render.get_height(), -1, 1))
render.draw(self.light_pred)
render.disable_render_target(self.light_rt)
render.enable_state(render.STATE_BLEND)
render.set_blend_func(render.BLEND_SRC_ALPHA, render.BLEND_ONE_MINUS_SRC_ALPHA)
render.set_view(self.view)
render.set_projection(vmath.matrix4_orthographic(0, render.get_width(), 0, render.get_height(), -1, 1))
render.draw(self.tile_pred)
render.enable_state(render.STATE_BLEND)
render.set_view(vmath.matrix4())
render.set_projection(vmath.matrix4())
render.enable_texture(0, self.light_rt, render.BUFFER_COLOR_BIT)
render.set_blend_func(render.BLEND_ZERO, render.BLEND_SRC_COLOR)
render.draw(self.quad_pred)
render.disable_texture(0, self.light_rt)

Predictably, placing the clear after

render.draw(self.quad_pred)

makes everything a solid color, and placing it in after

render.draw(self.tile_pred)

makes only the lights show, but leaves the tracing problem.