back buffer copy node, to improve on texscreen()

back buffer copy node and respective demo
This commit is contained in:
Juan Linietsky
2015-03-12 01:05:50 -03:00
parent 9f88a40e9f
commit 650e13f3cd
20 changed files with 272 additions and 12 deletions

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

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

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 952 KiB

View File

@ -0,0 +1,4 @@
[application]
name="Glass Bubbles (Texscreen)"
main_scene="res://bubbles.scn"

View File

@ -0,0 +1,37 @@
extends BackBufferCopy
# member variables here, example:
# var a=2
# var b="textvar"
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)
func _ready():
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)
# Initialization here
pass

BIN
demos/2d/texscreen/lens.scn Normal file

Binary file not shown.