mirror of
https://github.com/thegatesbrowser/thegates.git
synced 2025-08-24 02:17:27 -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
|
@onready var height = get_viewport().size.y
|
||||||
|
|
||||||
var rd: RenderingDevice
|
var rd: RenderingDevice
|
||||||
var ext_texure_rid: RID
|
var ext_texure: ExternalTexture
|
||||||
var result_texture_rid: RID
|
var result_texture_rid: RID
|
||||||
|
|
||||||
|
|
||||||
|
@ -70,16 +70,16 @@ func create_external_texture() -> int:
|
||||||
var image = splash_screen.get_image()
|
var image = splash_screen.get_image()
|
||||||
image.convert(Image.FORMAT_RGBA8)
|
image.convert(Image.FORMAT_RGBA8)
|
||||||
image.clear_mipmaps()
|
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))
|
ext_texure = ExternalTexture.new()
|
||||||
return rd.get_external_texture_fd(ext_texure_rid)
|
ext_texure.create(t_format, t_view, [image.get_data()])
|
||||||
|
return ext_texure.get_fd()
|
||||||
|
|
||||||
|
|
||||||
func texture_update() -> void:
|
func texture_update() -> void:
|
||||||
if not ext_texure_rid.is_valid() or not result_texture_rid.is_valid(): return
|
if ext_texure == null or not ext_texure.get_rid().is_valid(): return
|
||||||
|
if not result_texture_rid.is_valid(): return
|
||||||
rd.texture_copy(ext_texure_rid, result_texture_rid, Vector3.ZERO, Vector3.ZERO,
|
ext_texure.copy_to(result_texture_rid)
|
||||||
Vector3(width, height, 1), 0, 0, 0, 0)
|
|
||||||
|
|
||||||
|
|
||||||
func kill_process() -> void:
|
func kill_process() -> void:
|
||||||
|
@ -87,10 +87,6 @@ func kill_process() -> void:
|
||||||
OS.kill(pid)
|
OS.kill(pid)
|
||||||
Debug.logclr("Process killed " + str(pid), Color.DIM_GRAY)
|
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:
|
func _exit_tree() -> void:
|
||||||
kill_process()
|
kill_process()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue