diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index 5996d165884..5183cd53ff6 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -122,11 +122,21 @@ Returns the viewport's texture. [b]Note:[/b] When trying to store the current texture (e.g. in a file), it might be completely black or outdated if used too early, especially when used in e.g. [method Node._ready]. To make sure the texture you get is correct, you can await [signal RenderingServer.frame_post_draw] signal. - [codeblock] + [codeblocks] + [gdscript] func _ready(): - await RenderingServer.frame_post_draw - $Viewport.get_texture().get_image().save_png("user://Screenshot.png") - [/codeblock] + await RenderingServer.frame_post_draw + $Viewport.get_texture().get_image().save_png("user://Screenshot.png") + [/gdscript] + [csharp] + public async override void _Ready() + { + await ToSignal(RenderingServer.Singleton, RenderingServer.SignalName.FramePostDraw); + var viewport = GetNode<Viewport>("Viewport"); + viewport.GetTexture().GetImage().SavePng("user://Screenshot.png"); + } + [/csharp] + [/codeblocks] [b]Note:[/b] When [member use_hdr_2d] is [code]true[/code] the returned texture will be an HDR image encoded in linear space.