Skip to content

Commit 3d87dcb

Browse files
committed
Merge pull request #109010 from LurkerAbove/viewport-gettexture-docs-add-cscode
Add the C# code equivalent to the documentation of Viewport.GetTexture()
2 parents 4d107c1 + 0ea06fe commit 3d87dcb

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

doc/classes/Viewport.xml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,21 @@
122122
<description>
123123
Returns the viewport's texture.
124124
[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.
125-
[codeblock]
125+
[codeblocks]
126+
[gdscript]
126127
func _ready():
127-
await RenderingServer.frame_post_draw
128-
$Viewport.get_texture().get_image().save_png("user://Screenshot.png")
129-
[/codeblock]
128+
await RenderingServer.frame_post_draw
129+
$Viewport.get_texture().get_image().save_png("user://Screenshot.png")
130+
[/gdscript]
131+
[csharp]
132+
public async override void _Ready()
133+
{
134+
await ToSignal(RenderingServer.Singleton, RenderingServer.SignalName.FramePostDraw);
135+
var viewport = GetNode&lt;Viewport&gt;("Viewport");
136+
viewport.GetTexture().GetImage().SavePng("user://Screenshot.png");
137+
}
138+
[/csharp]
139+
[/codeblocks]
130140
[b]Note:[/b] When [member use_hdr_2d] is [code]true[/code] the returned texture will be an HDR image encoded in linear space.
131141
</description>
132142
</method>

0 commit comments

Comments
 (0)