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