浏览代码

Merge pull request #60740 from KoBeWi/postapo_frame_draw

Rémi Verschelde 3 年之前
父节点
当前提交
38a922a365
共有 1 个文件被更改,包括 6 次插入11 次删除
  1. 6 11
      doc/classes/Viewport.xml

+ 6 - 11
doc/classes/Viewport.xml

@@ -75,17 +75,12 @@
 			<return type="ViewportTexture" />
 			<return type="ViewportTexture" />
 			<description>
 			<description>
 				Returns the viewport's texture.
 				Returns the viewport's texture.
-				[b]Note:[/b] Due to the way OpenGL works, the resulting [ViewportTexture] is flipped vertically. You can use [method Image.flip_y] on the result of [method Texture2D.get_image] to flip it back, for example:
-				[codeblocks]
-				[gdscript]
-				var img = get_viewport().get_texture().get_image()
-				img.flip_y()
-				[/gdscript]
-				[csharp]
-				Image img = GetViewport().GetTexture().GetImage();
-				img.FlipY();
-				[/csharp]
-				[/codeblocks]
+				[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]
+				func _ready():
+				    await RenderingServer.frame_post_draw
+				    $Viewport.get_texture().get_image().save_png("user://Screenshot.png")
+				[/codeblock]
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="get_viewport_rid" qualifiers="const">
 		<method name="get_viewport_rid" qualifiers="const">