mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-02-20 12:33:14 +00:00
Add missing line to Desaturate and InvertColors, and made some changes to ShaderImageEffect
This commit is contained in:
parent
493630c680
commit
311f4dd70b
3 changed files with 10 additions and 9 deletions
|
@ -6,25 +6,22 @@ signal done
|
|||
|
||||
func generate_image(img: Image, shader: Shader, params: Dictionary, size: Vector2) -> void:
|
||||
img.unlock()
|
||||
var viewport_texture := Image.new()
|
||||
var vp = VisualServer.viewport_create()
|
||||
var canvas = VisualServer.canvas_create()
|
||||
var vp := VisualServer.viewport_create()
|
||||
var canvas := VisualServer.canvas_create()
|
||||
VisualServer.viewport_attach_canvas(vp, canvas)
|
||||
VisualServer.viewport_set_size(vp, size.x, size.y)
|
||||
VisualServer.viewport_set_disable_3d(vp, true)
|
||||
VisualServer.viewport_set_usage(vp, VisualServer.VIEWPORT_USAGE_2D)
|
||||
VisualServer.viewport_set_hdr(vp, true)
|
||||
VisualServer.viewport_set_active(vp, true)
|
||||
VisualServer.viewport_set_transparent_background(vp, true)
|
||||
|
||||
var ci_rid = VisualServer.canvas_item_create()
|
||||
var ci_rid := VisualServer.canvas_item_create()
|
||||
VisualServer.viewport_set_canvas_transform(vp, canvas, Transform())
|
||||
VisualServer.canvas_item_set_parent(ci_rid, canvas)
|
||||
var texture = ImageTexture.new()
|
||||
texture.create_from_image(img)
|
||||
VisualServer.canvas_item_add_texture_rect(ci_rid, Rect2(Vector2(0, 0), size), texture)
|
||||
var texture := VisualServer.texture_create_from_image(img, 0)
|
||||
VisualServer.canvas_item_add_texture_rect(ci_rid, Rect2(Vector2.ZERO, size), texture)
|
||||
|
||||
var mat_rid = VisualServer.material_create()
|
||||
var mat_rid := VisualServer.material_create()
|
||||
VisualServer.material_set_shader(mat_rid, shader.get_rid())
|
||||
VisualServer.canvas_item_set_material(ci_rid, mat_rid)
|
||||
for key in params:
|
||||
|
@ -33,11 +30,13 @@ func generate_image(img: Image, shader: Shader, params: Dictionary, size: Vector
|
|||
VisualServer.viewport_set_update_mode(vp, VisualServer.VIEWPORT_UPDATE_ONCE)
|
||||
VisualServer.viewport_set_vflip(vp, true)
|
||||
VisualServer.force_draw(false)
|
||||
var viewport_texture := Image.new()
|
||||
viewport_texture = VisualServer.texture_get_data(VisualServer.viewport_get_texture(vp))
|
||||
VisualServer.free_rid(vp)
|
||||
VisualServer.free_rid(canvas)
|
||||
VisualServer.free_rid(ci_rid)
|
||||
VisualServer.free_rid(mat_rid)
|
||||
VisualServer.free_rid(texture)
|
||||
viewport_texture.convert(Image.FORMAT_RGBA8)
|
||||
img.copy_from(viewport_texture)
|
||||
emit_signal("done")
|
||||
|
|
|
@ -11,6 +11,7 @@ var confirmed: bool = false
|
|||
|
||||
|
||||
func _about_to_show() -> void:
|
||||
confirmed = false
|
||||
var sm := ShaderMaterial.new()
|
||||
sm.shader = shader
|
||||
preview.set_material(sm)
|
||||
|
|
|
@ -11,6 +11,7 @@ var confirmed: bool = false
|
|||
|
||||
|
||||
func _about_to_show() -> void:
|
||||
confirmed = false
|
||||
var sm := ShaderMaterial.new()
|
||||
sm.shader = shader
|
||||
preview.set_material(sm)
|
||||
|
|
Loading…
Add table
Reference in a new issue