Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add BackBufferPanel #99

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ That's it! I hope you've got ideas of what you'd like to share with others.
|-|-|-|
|[Array2D](addons/godot-next/references/array_2d.gd)|A 2D Array class.|GDScript
|[ArrayMap](addons/godot-next/resources/array_map.gd)|A Resource that maps String keys to Variants in an Array for fast iteration. Serializes all data as individual properties to avoid storage bugs in Godot 3.x.|GDScript
|[BackBufferPanel](addons/godot-next/gui/back_buffer_panel.gd)|A Control that copies its region to the render buffer so it can be used in screen-reading shaders.|GDScript
|[BitFlag](addons/godot-next/references/bit_flag.gd)|A class that allows abstracts away the complexity of handling bit flag enum types.|GDScript
|[Bitset](addons/godot-next/references/bitset.gd)|A class that allows for easily manipulated bitmasks of any size.|GDScript
|[Behavior](addons/godot-next/resources/behavior.gd)|A Resource type that automatically calls Node-like notification methods when paired with the CallbackDelegator class.|GDScript
Expand Down
15 changes: 15 additions & 0 deletions addons/godot-next/gui/back_buffer_panel.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
tool
extends Control
class_name BackBufferPanel, "../icons/icon_back_buffer_panel.svg"
# author: Tlitookilakin
# Description: Copies its render region to the render buffer for shader purposes

onready var rid = get_canvas_item() # get RID

func _draw():
if rid == null:
rid = get_canvas_item()
var rect: Rect2 = get_global_rect()
# screen-space coordinates are y-flipped. Remove in Godot 4.0.
rect.position.y = get_viewport_rect().size.y - rect.position.y - rect.size.y
VisualServer.canvas_item_set_copy_to_backbuffer(rid,visible,rect)
1 change: 1 addition & 0 deletions addons/godot-next/icons/icon_back_buffer_panel.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 34 additions & 0 deletions addons/godot-next/icons/icon_back_buffer_panel.svg.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[remap]

importer="texture"
type="StreamTexture"
path="res://.import/icon_back_buffer_panel.svg-7f395dceae456e98151a69912335fa8a.stex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://addons/godot-next/icons/icon_back_buffer_panel.svg"
dest_files=[ "res://.import/icon_back_buffer_panel.svg-7f395dceae456e98151a69912335fa8a.stex" ]

[params]

compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0