Files
slime-moldies/root.gd
Kasper Sauramo a9ec3cfa26 very starty setup
2025-07-31 18:26:18 +03:00

31 lines
871 B
GDScript

extends Node2D
@onready var sim_viewport := $SubViewport
@onready var display_sprite := $Sprite2D
var tex_a: Texture2D
var tex_b: Texture2D
var swap = false
func _ready():
# Create textures
tex_a = ImageTexture.create_from_image(
Image.create(sim_viewport.size.x, sim_viewport.size.y, false, Image.FORMAT_RGBAF)
)
tex_b = tex_a.duplicate()
# Assign one texture to the simulation shader as input
$SubViewport/ColorRect.material.set("shader_parameter/trail_tex", tex_a)
display_sprite.texture = tex_a
func _process(_delta):
# Swap textures each frame
swap = !swap
var src = tex_a if swap else tex_b
var dst = tex_b if swap else tex_a
# Assign src as input and dst as render target
$SubViewport/ColorRect.material.set("shader_parameter/trail_tex", src)
sim_viewport.render_target_update_mode = SubViewport.UPDATE_ALWAYS
display_sprite.texture = dst