Refactored Main/%Compositor into a standalone ImageCompositor class; implements #38
This commit is contained in:
parent
3b47d57353
commit
85d33d5d77
2 changed files with 17 additions and 11 deletions
|
@ -1,7 +1,7 @@
|
||||||
[gd_scene load_steps=10 format=3 uid="uid://bjah7k4bxo044"]
|
[gd_scene load_steps=10 format=3 uid="uid://bjah7k4bxo044"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://src/Main.gd" id="1_2625y"]
|
[ext_resource type="Script" path="res://src/Main.gd" id="1_2625y"]
|
||||||
[ext_resource type="Script" path="res://src/Compositor.gd" id="2_hvo65"]
|
[ext_resource type="Script" path="res://src/ImageCompositor.gd" id="2_4thch"]
|
||||||
[ext_resource type="Shader" path="res://src/shader/ivd_outline.gdshader" id="3_6xihe"]
|
[ext_resource type="Shader" path="res://src/shader/ivd_outline.gdshader" id="3_6xihe"]
|
||||||
[ext_resource type="Script" path="res://src/ImageViewportDisplay.gd" id="3_n4itb"]
|
[ext_resource type="Script" path="res://src/ImageViewportDisplay.gd" id="3_n4itb"]
|
||||||
[ext_resource type="Script" path="res://src/UIWindow.gd" id="6_8k0ha"]
|
[ext_resource type="Script" path="res://src/UIWindow.gd" id="6_8k0ha"]
|
||||||
|
@ -20,14 +20,7 @@ script = ExtResource("1_2625y")
|
||||||
|
|
||||||
[node name="Compositor" type="SubViewport" parent="."]
|
[node name="Compositor" type="SubViewport" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
disable_3d = true
|
script = ExtResource("2_4thch")
|
||||||
transparent_bg = true
|
|
||||||
canvas_item_default_texture_filter = 0
|
|
||||||
render_target_update_mode = 4
|
|
||||||
script = ExtResource("2_hvo65")
|
|
||||||
|
|
||||||
[node name="ImageSprite" type="Sprite2D" parent="Compositor"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
|
|
||||||
[node name="ImageViewportDisplay" type="Sprite2D" parent="."]
|
[node name="ImageViewportDisplay" type="Sprite2D" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
|
|
@ -1,9 +1,22 @@
|
||||||
extends SubViewport
|
class_name ImageCompositor extends SubViewport
|
||||||
|
|
||||||
|
var image_sprite: Sprite2D
|
||||||
|
|
||||||
|
func _init() -> void:
|
||||||
|
# Overwrite some variables
|
||||||
|
self.render_target_update_mode = SubViewport.UPDATE_ALWAYS
|
||||||
|
self.disable_3d = true
|
||||||
|
self.transparent_bg = true
|
||||||
|
self.canvas_item_default_texture_filter = Viewport.DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_NEAREST
|
||||||
|
self.image_sprite = Sprite2D.new()
|
||||||
|
|
||||||
@onready var camera = %Camera
|
@onready var camera = %Camera
|
||||||
@onready var image_sprite = %ImageSprite
|
|
||||||
@onready var image_viewport_display = %ImageViewportDisplay
|
@onready var image_viewport_display = %ImageViewportDisplay
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
# Add image sprite as child to be rendered
|
||||||
|
self.add_child(image_sprite)
|
||||||
|
|
||||||
var _fragment_function_regex: RegEx = RegEx.create_from_string(r'\s*void\s+fragment\s*\(\s*\)\s*{\s*')
|
var _fragment_function_regex: RegEx = RegEx.create_from_string(r'\s*void\s+fragment\s*\(\s*\)\s*{\s*')
|
||||||
|
|
||||||
func validate_shader_compilation(shader: Shader) -> bool:
|
func validate_shader_compilation(shader: Shader) -> bool:
|
Loading…
Add table
Add a link
Reference in a new issue