mirror of
https://github.com/thegatesbrowser/thegates.git
synced 2025-08-23 17:17:31 -04:00
gd: external texture
This commit is contained in:
parent
1d31e6e0a9
commit
f92a186d54
1 changed files with 8 additions and 12 deletions
|
@ -12,7 +12,7 @@ var pid: int
|
|||
@onready var height = get_viewport().size.y
|
||||
|
||||
var rd: RenderingDevice
|
||||
var ext_texure_rid: RID
|
||||
var ext_texure: ExternalTexture
|
||||
var result_texture_rid: RID
|
||||
|
||||
|
||||
|
@ -70,16 +70,16 @@ func create_external_texture() -> int:
|
|||
var image = splash_screen.get_image()
|
||||
image.convert(Image.FORMAT_RGBA8)
|
||||
image.clear_mipmaps()
|
||||
ext_texure_rid = rd.create_external_texture(t_format, t_view, [image.get_data()])
|
||||
Debug.logr("External texture rid " + str(ext_texure_rid))
|
||||
return rd.get_external_texture_fd(ext_texure_rid)
|
||||
|
||||
ext_texure = ExternalTexture.new()
|
||||
ext_texure.create(t_format, t_view, [image.get_data()])
|
||||
return ext_texure.get_fd()
|
||||
|
||||
|
||||
func texture_update() -> void:
|
||||
if not ext_texure_rid.is_valid() or not result_texture_rid.is_valid(): return
|
||||
|
||||
rd.texture_copy(ext_texure_rid, result_texture_rid, Vector3.ZERO, Vector3.ZERO,
|
||||
Vector3(width, height, 1), 0, 0, 0, 0)
|
||||
if ext_texure == null or not ext_texure.get_rid().is_valid(): return
|
||||
if not result_texture_rid.is_valid(): return
|
||||
ext_texure.copy_to(result_texture_rid)
|
||||
|
||||
|
||||
func kill_process() -> void:
|
||||
|
@ -87,10 +87,6 @@ func kill_process() -> void:
|
|||
OS.kill(pid)
|
||||
Debug.logclr("Process killed " + str(pid), Color.DIM_GRAY)
|
||||
|
||||
if ext_texure_rid.is_valid():
|
||||
rd.free_rid(ext_texure_rid)
|
||||
Debug.logclr("Rd texture freed " + str(ext_texure_rid), Color.DIM_GRAY)
|
||||
|
||||
|
||||
func _exit_tree() -> void:
|
||||
kill_process()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue