I need help again I’m trying to implement different movement logic for two masks, but only the last wave_2 works, more precisely, wave_1 also works, but according to the movement logic of wave_2. I understand why this happens, but I don’t understand how to fix it
-- render GUI
--
local camera_gui = state.cameras.camera_gui
render.set_view(camera_gui.view)
render.set_projection(camera_gui.proj)
render.enable_state(render.STATE_STENCIL_TEST)
if self.maskable_nodes["wave_1"].mask_sampler then
if self.maskable_nodes["wave_1"].mask_position then
if not camera_gui.frustum.constants then camera_gui.frustum.constants = render.constant_buffer() end
camera_gui.frustum.constants.mask_position = self.maskable_nodes["wave_1"].mask_position
end
render.enable_texture("mask_sampler", self.maskable_nodes["wave_1"].mask_sampler)
end
render.draw(predicates.gui, camera_gui.frustum)
if self.maskable_nodes["wave_1"].mask_sampler then
render.disable_texture("mask_sampler")
end
if self.maskable_nodes["wave_2"].mask_sampler then
if self.maskable_nodes["wave_2"].mask_position then
if not camera_gui.frustum.constants then camera_gui.frustum.constants = render.constant_buffer() end
camera_gui.frustum.constants.mask_position = self.maskable_nodes["wave_2"].mask_position
end
render.enable_texture("mask_sampler", self.maskable_nodes["wave_2"].mask_sampler)
end
render.draw(predicates.gui, camera_gui.frustum)
if self.maskable_nodes["wave_2"].mask_sampler then
render.disable_texture("mask_sampler")
end
render.draw(predicates.debug_text, camera_gui.frustum)
render.disable_state(render.STATE_STENCIL_TEST)
render.disable_state(render.STATE_BLEND)