back buffer copy node and respective demo
@@ -9,6 +9,10 @@ down=[key(S), key(Down)]
left=[key(Left), key(A)]
right=[key(Right), key(D)]
+[rasterizer]
+
+shadow_filter=0
[render]
default_clear_color=#ff000000
@@ -0,0 +1,17 @@
+extends Control
+# member variables here, example:
+# var a=2
+# var b="textvar"
+const MAX_BUBBLES=10
+func _ready():
+ # Initialization here
+ for i in range(MAX_BUBBLES):
+ var bubble = preload("res://lens.scn").instance()
+ add_child(bubble)
+ pass
@@ -0,0 +1,4 @@
+[application]
+name="Glass Bubbles (Texscreen)"
+main_scene="res://bubbles.scn"
@@ -0,0 +1,37 @@
+extends BackBufferCopy
+const MOTION_SPEED=150
+var vsize;
+var dir;
+func _process(delta):
+ var pos = get_pos() + dir * delta * MOTION_SPEED
+ if (pos.x<0):
+ dir.x=abs(dir.x)
+ elif (pos.x>vsize.x):
+ dir.x=-abs(dir.x)
+ if (pos.y<0):
+ dir.y=abs(dir.y)
+ elif (pos.y>vsize.y):
+ dir.y=-abs(dir.y)
+ set_pos(pos)
+ vsize = get_viewport_rect().size
+ var pos = vsize * Vector2(randf(),randf());
+ set_pos(pos);
+ dir = Vector2(randf()*2.0-1,randf()*2.0-1).normalized()
+ set_process(true)