mirror of
https://github.com/Redot-Engine/redot-engine.git
synced 2025-12-05 23:07:42 -05:00
Merge pull request #109010 from LurkerAbove/viewport-gettexture-docs-add-cscode
Add the C# code equivalent to the documentation of Viewport.GetTexture()
This commit is contained in:
@@ -122,11 +122,21 @@
|
||||
<description>
|
||||
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.
|
||||
</description>
|
||||
</method>
|
||||
|
||||
Reference in New Issue
Block a user